Python 相关复习资料,包括网络平台题库、期末复习、基本函数、题库、基本方法和常用函数等。
python网络平台题库
1 C以下代码的输出结果是__________。
x=12+3*((58)-14)//6
print(x)
• A、25.0
B、24
C、25
D、65
2 A表达式3**25//6%7的计算结果是________。
• A、0
B、1
C、4
D、2
3 B在Python语言中,不能作为变量名的是________。
• A、student
B、2age
C、_reg
D、use_time
4 B以下关于Python字符编码的描述中,正确的是__________。
• A、Python字符编码使用ASCII编码存储
B、chr(x)和ord(x)函数用于在单字符和Unicode 编码值之间进行转换
C、print(chr(‘a’))输出97 应该是print(ord(“a”))
D、print(ord(65))输出A
5 D表达式int(-3.5)+pow(2,3)+round(3.1415,2)的计算结果是________。
• A、7.64
B、6.14
C、7.14
D、8.14
1B以下代码的输出结果是_________。
lis=list(range(4))
print(lis)
A、[0, 1, 2, 3,4]
B、[0, 1, 2, 3]
C、0,1,2,3,
D、0,1,2,3,4
2 A以下程序的输出结果是__________。
ls1 = [1,2,3,4,5]
ls2 = ls1
ls2.reverse()
print(ls1)
• A、[5, 4, 3, 2, 1]
B、[1,2, 3,4,5]
C、1,2, 3,4,5
D、5, 4, 3, 2, 1
3C下列能删除字符串s=”ab34cd”中数字的语句是________。
• A、del s[2:4]
B、s[2:4]=[]
C、s=s[0:2]+s[-2:]
D、s[2:4]=””
4B 二维表ls = [[9, 8], [7, 6],[5, 4], [3, 2], [1, 0]],能够获得数字4 的选项是__________。
• A、ls[3][-1]
B、ls[-3][-1]
C、ls[2][0]
D、ls[-2][0]
5C关于Python元组类型,以下选项中描述错误的是__________。
• A、元组不可以被修改
B、Python中元组使用圆括号和逗号表示
C、元组中的元素要求是相同类型
D、一个元组可以作为另一个元组的元素,可以采用多级索引获取信息
1A以下关于Python中字典的描述正确的是__________。
• A、字典是由大括号{ }建立,每个元素都是一个键值对
B、创建字典只能通过dict()函数
C、字典中不可以嵌套字典
D、使用del语句进行字典操作时,不需要指定字典名和要删除的键
2D以下不能创建一个字典的语句是__________。
• A、dic = { }
B、dic = {1 : 5}
C、dic = {(1, 2) : “use”}
D、dic = {[1, 2] : “use”}
3A下面代码输出的结果是__________。
a = divmod(5, 2) 2,1
b = divmod(2, 6) 0,2
c = set(a + b)
print(sum(c))
• A、3
B、5
C、2
D、0
4D下列关于Python的描述正确的是__________。
• A、列表的下标是从1开始的
B、元组的元素值可以修改、删除、连接
C、字典中的“键”只能是整数、字符串
D、集合分为可变集合和不可变集合,可变集合的元素可以添加、删除
5B以下代码的输出结果是__________。
test = {“age” : “18”, “score” : “[89,95]”, “name” : “Hawking”}
print(test[“score”], test.get(“name”, “Rose”))
• A、89, 95 Hawking
B、[89, 95] Hawking
C、[89, 95] Rose
D、[89, 95] name
1C以下关于分支结构的描述中,错误的是_________。
• A、if语句中语句块执行与否依赖于条件判断
B、if 语句中条件部分可以使用任何能够产生 True和False 的语句和函数
C、二分支结构有一种紧凑形式,使用保留字if和elif实现
D、多分支结构用于设置多个判断条件以及对应的多条执行路径
2C下面代码的输出结果是__________。
x = 10
while x:
x -= 1
if x % 2:
print(x, end=”)
else:
pass
• A、86420
B、975311
C、97531
D、864200
3A下面代码的输出结果是__________。
for i in range(3):
for j in “dream”:
if j == “e”:
continue
print(j, end=””)
• A、dramdramdram
B、drdrdr
C、dreamdreamdream
D、dream
4A下列代码的输出结果是__________。
ls = [[0, 1], [5, 6], [7, 8]]
lis = []
for i in range(len(ls)):
lis.append(ls[i][1])
print(lis)
• A、[1, 6, 8]
B、[0, 5, 7]
C、[0, 6, 8]
D、[0, 1]
5C下列程序给出了根据给定两个长度相同的列表来建立字典的过程,把程序补充完整。
list1=[‘20160101’,’20160102’,’20160103’,’20160104’,’20160105’]
list2=[‘Tom’,’Jerry’,’Max’,’Rose’,’Jane’]
dict1={}
lens=len(list1)
for i in range(lens):
____________________
print(dict1)
• A、dict1=list1[i],list2[i]
B、dict1={list1[i],list2[i]}
C、dict1[list1[i]]=list2[i]
D、dict1(list1[i])=list2[i]
1输入任意正整数n,求n的阶乘并输出。请将下列代码补充完整。
n=int(input(‘n=’))
fact=1
for i in _________
______________
print(n,’!=’,fact)
第一空: range(2,n+1)
第二空: fact*=i
2输入任意一个字符串s,求s的逆序并输出。请将下列代码补充完整。
s=input(‘s=’)
for i in s:
t=___________
print(t)
第一空: t=””
第二空: i+t
3求m和n的最大公约数并输出。请将下列代码补充完整。
n = int(input(“请输入第一个数:”))
m = int(input(“请输入第二个数:”))
r = __________
while __________
n = m
m = r
r = n % m
print(____)
第一空: n%m
第二空: r!=0:
第三空: m
4下面程序的功能是,找出所有三位数中每一位数字都是素数的数。请完善下面的程序。
for i in range(100,1000):
st=str(i)
flag=True
for j in st: ##判断一个数的各位数字是否是素数
if int(j)<2:
flag=False
______________
else:
for k in range(2,int()):
if int(j) % k==0:
flag=False
break
if flag==False:
break
if flag==________:
print(i)
第一空: break
第二空: j
第三空: True
2.2 变量的作用域
1D【单选题】以下程序的输出结果是__________。
img1 = [12,34,56,78]
img2 = [1,2,3,4,5]
def modi():
img1 =img2
print(img1)
modi()
print(img1)
• A、[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
• B、[12, 34, 56, 78]
[1, 2, 3, 4, 5]
• C、[12, 34, 56, 78]
[12, 34, 56, 78]
• D、[1, 2, 3, 4, 5]
[12, 34, 56, 78]
2D以下程序的输出结果是__________。
s=10
def run(n):
global s
for i in range(n):
s+=i
return s
print(s,run(5))
• A、10 10
• B、UnboundLocalError
• C、20 20
• D、10 20
3C下面代码的输出结果是__________。
n = 2
def f(a):
n = bool(a - 2)
return n
b = f(2)
print(n, b)
• A、2 0
• B、False False
• C、2 False
• D、0 False
4A以下关于Python全局变量和局部变量的描述中,错误的是_________。
• A、当函数退出时,局部变量依然存在,下次函数调用可以继续使用
• B、全局变量一般指定义在函数之外的变量
• C、使用global保留字声明后,变量可以作为全局变量使用
• D、局部变量在函数内部创建和使用,函数退出后变量被释放
5B下面代码的输出结果是__________。
a = 1
def fun(a):
a = a + 2
return a
print(a, fun(a))
• A、1, 1
• B、1, 3
• C、3, 3
• D、3, 1
2.4 匿名函数-1
1D下面关于递归函数,描述错误的是__________。
• A、递归函数就是一个函数在内部调用自身本身
B、递归函数必须有一个明确的结束条件
C、递归效率不高,递归层次过多会导致栈溢出
D、每进入更深一层的递归时,问题规模相对于前一次递归是不变的
2、C以下关于匿名函数的描述,错误的是__________。
• A、lambda表达式中可以使用任意复杂的表达式,但是必须只编写一个表达式
B、在Python中,lambda表达式属于可调用对象
C、无法使用lambda表达式定义有名字的函数
D、g=lambda x:3是一个合法的赋值语句
3D下面代码的输出结果是__________。
def add(x):
if x>0:
return x+add(x-1)
else:
return 0
result=add(10)
print(result)
• A、0
B、10
C、45
D、55
• 4A下面代码的输出结果是__________。
f=lambda x,y:x if x<y else y
a=f(“aa”,”bb”)
b=f(“bb”,”aa”)
print(a,b)
• A、aa aa
B、aa bb
C、bb aa
D、bb bb
5、B下面代码的输出结果是__________。
def f(n):
if n==1:
return 1
else:
return nf(n-1)
print(f(4))
• A、0
• B、24
• C、4
D、10
2.5.1 函数基础实例
1 编写判断一个数n是否为完数的函数,如果是完数,返回True。一个数如果恰好等于它的因子之和,这个数就称为“完数”。请将下列代码补充完整。
def ws(n):
sum=0
for i in ___________
if n%i==0:
_____________
if sum==n:
______________
第一空: range(1,n):
第二空: sum+=i
第三空: return True
2编写求两个正整数最小公倍数的函数,返回值的类型也是正整数(提示:a变量中记录两个数的乘积)。请将下列代码补充完整。请将下列代码补充完整。
def lcd(m,n):
r=m%n
a=__________
while ___________
m=n
n=r
r=m%n
return ___________
第一空: mn
第二空: r!=0:
第三空: a//n
3 编写判断一个数n是否为回文数的函数,如果是,返回True,若不是,则返回False。回文数是指其正序与逆序相同的数。请将下列代码补充完整。
def judge(n):
s=str(n)
t=’’
for i in s:
t=____________
if _____________
return True
else:
return False
第一空: i+t
第二空: t==s:
4 编写判断一个数n是否为降序数的函数,如果是,返回True,若不是,则返回False。降序数是指一个自然数的高位数大于低位数的数。请将下列代码补充完整。
def jx(n):
s=_____________
for i in range(len(s)-1):
if _____________
return False
return True
第一空: str(n)
第二空: s[i]<=s[i+1]:
2.5.2 函数综合-1
1、键盘输入字符串s,按要求把s输出到屏幕,格式要求:宽度为30个字符,星号字符填充,居中对齐。如果输入字符串超过30位,则全部输出。
s=input(‘请输入一个字符串:’)
print(“{_________}”.format(s))
第一空: :^30
2、a和b是两个列表变量,列表a为[11,3,8]已给定,键盘输入列表b,计算a中元素与b中对应元素乘积的累加和。例如:键盘输入列表b为[4,5,2],累加和为114+35+8*2=75,因此屏幕输出结果为75。
a = [11,3,8]
b =eval(input(“b列表为:”))
for i in ___________
s += a[i]b[i]
print(s)
第一空: s=0
第二空: range(0,3):
3、随机生成5个在1(含)到50(含)之间的随机整数,每个整数后随一个空格进行分隔,屏幕输出这5个随机数。
import random
for i in range():
print(, end=” “)
第一空: 5
第二空: random.randint(1,50)
4、从键盘输入一个1-26之间的数字,对应于英文字母表中的索引,在屏幕上显示输出对应的英文字母。例如输入一个数字1,则输出大写字母A。
s = eval(input(“请输入一个数字:”))
t= [0]
for i in range(65,91):
t.append(chr(___))
print(“输出大写字母:{}”.format())
第一空: i
第二空: t[s]
5、键盘输入十进制整数,按要求将这个整数转化为二进制和十六进制(大写)屏幕输出。例如输入数字425,则输出对应的二进制数为110101001,十六进制数为1A9。
num = eval(input(“输入数字:”))
print(“对应的二进制数:{}\n十六进制数:{___}”.format(num))
第一空: 0:b
第二空: 0:X
6、请将列表lis内的重复元素删除,并输出,例如若列表为[2,8,3,6,5,3,8],输出为[2, 3, 5, 6, 8]。
lis = [2,8,3,6,5,3,8]
new_lis = ___________
print(new_lis)
第一空: list(set(lis))
2.5.2 函数综合-2
1 下面程序的功能是,生成10个三位随机整数,并求出每个随机整数各位数字阶乘之和。并按照如下格式输出:411:4!+1!+1!=26。请将程序完善。
import random
def fact(n):
if n==0 or n==1:
return 1
_______________
for i in range(1,n+1):
s=i
return s
lis=[]
cnt=0
while cnt<10:
x=random.randint(100,999)
lis+=[x]
cnt___________
for i in lis:
sum1=0
st=””
t=___________
for j in t:
sum1+=fact(int(j))
st+=j+"!"+"+"
print(i,”:”,st[:],”=”,sum1)
第一空: s=1
第二空: +=1
第三空: str(i)
第四空: -1
2 下面程序的功能是,随机生成20个互不相等的三位数,找出其中的升序数并输出,如果没有升序数,请输出“无升序数!”所谓升序数是指从左往右依次递增的数,如:149,237。要求程序中包含判断一个数是否是升序数的通用函数。
请完善程序。
import random
def ascnum(n):
st=str(n)
for i in range(___):
if st[i]>=st[i+1]:
return False
return True
lis=[]
cnt=0
while cnt<20:
x=random.randint(100,999)
if x not in ________:
lis+=[x]
cnt+=1
print(lis)
cnt=0
for n in lis:
if ______==True:
cnt+=1
print(n,end=” “)
if cnt==0:
print(“无升序数!”)
第一空: len(st)-1
第二空: lis
第三空: ascnum(n)
3 本程序的功能是,找出仅由1,2,3这3个数字组成的一位、二位、三位整数中的所有素数。
请完善程序。
def prime(n):
if n<2:
return False
for i in range(,n):
if n % i==0:
return False
return True
s=”123”
for i in range(1,334):
______________
n=str(i)
for j in n:
if j not in s:
flag=False
______________
if flag==True:
if prime(i):
print(i)
第一空: 2
第二空: flag=True
第三空: break
3.1 文件_选择题
1 B
【单选题】
以下关于文件的描述中,正确的是_________
• A、使用 open()打开文件时,必须要用r或w指定打开方式,不能省略
B、采用 readlines()可以读人文件中的全部文本,返回一个列表
C、文件打开后,可以用 write()控制对文件内容的读写位置
D、如果没有采用close()关闭文件,Python程序退出时文件将不会自动关闭
2 D以下不属于Python文件操作方法的是_________。
• A、read()
B、write()
C、readline()
D、join()
3 B属于 Python 读取文件一行操作的是_________。
• A、readtext
B、readline
C、readall
D、read
4 C文件family.txt在当前代码所在目录内,其内容是一段文本:We are family, 以下代码的输出结果是_________。
txt=open(“family.txt”,”r”)
print(txt)
txt.close()
• A、txt
B、family.txt
C、其他选项均不正确
D、We are family
5 C在Python语言中,写文件操作时定位到某个位置所用到的函数是_________。
• A、write()
B、writeall()
C、seek()
D、writetext()
3.2 文件_填空题
1 随机产生100个两位正整数存入文件”testdata.txt”中,要求数据之间用逗号间隔。
import random
f=_________(“testdata.txt”,”w”)
for i in range(100):
s+=str(random.)+”,”
f.(s[:-1])
f.close()
第一空: open
第二空: s=””
第三空: randint(10,99)
第四空: write
2 读取文件”testdata.txt”中的数据(该文件内容为逗号间隔的若干数值),求出这些数值的和,存入文件”testdata_sum.txt”中。
f=open(“testdata.txt”)
fdata=f._________
datalist=eval(“[“+fdata+”]”)
datasum=(datalist)
f.
f=open(“testdata_sum.txt”,”“)
f.write()
f.close()
第一空: read()
第二空: sum
第三空: close()
第四空: w
第五空: str(datasum)
3 以下程序输出到文件testfile.txt里的结果是__________。
f=open(“testfile.txt”,”w”)
data=[“Python”,”C++”,”VB”]
f.writelines(data)
f.close()
第一空: Python C++ VB
5.1.2 三方库
1、B下面不属于Python第三方库的安装方法的是________。
• A、pip工具安装
• B、go get命令安装
• C、自定义安装
• D、文件安装
2、A不属于Python机器学习第三方库的是__________。
• A、Pylons
• B、tensorflow
• C、keras
• D、mxnet
3、C在Python语言中,用于数据分析的第三方库是_______。
• A、OpenCV
• B、matplotlib
• C、numpy
• D、scrapy
4、A以下属于Python中Web开发框架第三方库的是__________。
• A、Django
• B、TinyDB
• C、audiolazy
• D、Pattern
5、B下面关于Python标准库和第三方库的说法正确的是__________。
• A、Python的第三方库是随着Python安装时默认自带的库
• B、Python的标准库和第三方库的调用方式都一样,都需要用import语句调用
• C、Python的第三方库需要用import语句调用,而标准库不需要
• D、Python的标准库需要用import语句调用,而第三方库不需要
6、C不属于Python开发用户界面第三方库的是_________。
• A、PyGObject
• B、PyQt
• C、time
• D、PyGTK
7、B不属于Python 数据分析及可视化处理第三方库的是_________。
• A、seaborn
• B、random
• C、mayavi2
• D、numpy
8、A在 Python语言中,包含矩阵运算的第三方库是_________。
• A、numpy
• B、PyQt5
• C、wordcloud
• D、wxPython
9、D在Python 语言中,能够处理图像的第三方库是_________。.
• A、pyinstaller
• B、pyserial
• C、pygame
• D、PIL
10、B在Python语言中,用来安装第三方库的工具是__________。
• A、install
• B、pip
• C、PyQt5
• D、pyinstaller
5.1.5 jieba填空
1、键盘输入一句话,用jieba分词后,将切分的词组按照在原话中的逆序输出到屏幕上,词组中间没有空格。例如输入:我爱中国,输出:中国爱我。
import jieba
txt = input(“请输入一段中文文本:”)
for i in ls[::-1]:
________________
第一空: ls=jieba.lcut(txt)
第二空: print(i,end=””)
2、键盘输入一段文本,保存在一个字符串变量s中,分别用Python内置函数及jieba库中已有函数计算字符串s的中文字符个数及中文词语个数。注意:中文字符包含中文标点符号。例如:
键盘输入:
科技是第一生产力
屏幕输出:
中文字符数为8,中文词语数为4。
import jieba
s = input(“请输入一个字符串:”)
n = ________
m = _________
print(“中文字符数为{},中文词语数为{}。”.format(n, m))
第一空: len(s)
第二空: len(jieba.lcut(s))
3、使用jieba库,把题目给出的文本进行分词,并将分词后的结果输出。
s = “一件事情没有做过,就没有资格对此事发表看法”
ls = ___________
print(ls)
第一空: import jieba
第二空: jieba.lcut(s)
4、程序的目录下有一文件data. txt,是一个来源于网上的技术信息资料。对文件data. txt进行分词,对长度不少于3个字符的关键词,统计出现的次数,按照出现次数由大到小的顺序输出到文件out1. txt, 每行一个关键词及其出现次数,例如:
人工智能:24
同心圆:3
计算机:3
一部分:2
DeepMind:2
AlphaGo:2
learning:2
1956:2
科学家:2
日常生活:1
……
请完善下面的程序。
import jieba
f=open(“data.txt”,”r”)
data=f.read()
f.close()
f=open(“out1.txt”,”w”)
data1=jieba.lcut(data)
d={}
for x in data1:
if >=3:
d[x]= +1
ls=list(d.items())
ls.sort(key=lambda x:,reverse=True)
for lis in ls:
f.write(lis[0]+’:’+____+’\n’)
f.close()
第一空: len(x)
第二空: d.get(x,0)
第三空: x[1]
第四空: str(lis[1])
5.2.4-1 不同维度数据处理选择题
1D以下关于数据维度的描述,错误的是______。
• A、一维数据由对等关系的有序或无序数据构成,采用线性方式组织,对应于数学中的集合或数组的概念
• B、二维数据由关联关系构成,采用表格方式组织,对应于数学中的矩阵
• C、高维数据由键值对类型的数据组成,采用对象方式组织
• D、一维数据是由对等关系的有序数据构成,无序数据不是一维数据
2A以下关于Python二维数据的描述中,错误的是_________。
• A、列表中保存的二维数据,可以通过循环用writelines()写入CSV文件
• B、CSV文件的每一行是一维数据,可以用列表、元组表示
• C、从CSV文件获得数据内容后,可以用replace()来去掉每行最后的换行符
• D、若一个列表变量里的元素都是字符串类型,则可以用join()合成字符串
3D以下对CSV格式描述正确的是__________。
• A、CSV文件以英文特殊符号分隔元素
• B、CSV文件以英文分号分隔元素
• C、CSV文件以英文空格分隔元素
• D、CSV文件以英文逗号分隔元素
4D在Python语言中,读入CSV文件保存的二维数据,按特定分隔符抽取信息,最可能用到的函数是_________。
• A、read()
• B、join()
• C、replace()
• D、split()
5A假设city.csv 文件内容如下:
巴哈马,巴林,孟加拉国,巴巴多斯
白俄罗斯,比利时,伯利兹
以下代码的输出结果是_________。
f=open(“city.csv”,”r”)
ls=f.read().split(“,”)
f.close()
print(ls)
• A、[‘巴哈马’,‘巴林’,‘孟加拉国’,‘巴巴多斯\n白俄罗斯’,‘比利时’,‘伯利兹]
B、[‘巴哈马’,‘巴林’,‘孟加拉国’,‘巴巴多斯’,‘白俄罗斯’,‘比利时’,‘伯利兹’]
C、[‘巴哈马,巴林,孟加拉国,巴巴多斯,白俄罗斯,比利时,伯利兹’]
D、[‘巴哈马’,‘巴林’,‘孟加拉国’,‘巴巴多斯’,‘\n’,白俄罗斯’,‘比利时’,‘伯利兹’]
5.2.4-2 不同维度数据处理填空题
1《卖火柴的小女孩》是丹麦童话故事作家安徒生的一篇童话故事,发表于1846年。主要讲了一个卖火柴的小女孩在富人阖家欢乐、举杯共庆的大年夜冻死在街头的故事。这里给出《卖火柴的小女孩》的一个网络版本文件,文件名为“小女孩.txt”。 对该文件进行字符频次统计,将所有字符按照频次从高到低排序,字符不包含标点符号及空格、回车符等。将排序后的字符及频次按参考格式输出到文件名为“词频统计.txt”的文件之中。参考格式如下:
的:83,一:63,了:60,她:56,着:30,那:29,火:29,是:24,小:23,这:22,上:22……
备注:代码中的string.punctuation是获取所有的英文标点,string.whitespace是获取所有的空白字符(如回车,缩进等)
小女孩.txt
fi=open(“小女孩.txt”,”r”)
fo=open(“词频统计.txt”,”w”)
txt=fi.read()
fi.close()
d={}
exclude=string.punctuation+string.whitespace+”,。!?、()【】:;《》……——“”‘’”
for word in txt:
if word not in exclude:
d[word]=__________
ls=list(d.items())
ls.sort(key=lambda item:,reverse=True)
for i in range(len(ls)):
ls[i]=”{}:{}”.format(ls[i][0],ls[i][1])
fo.write()
fo.close()
第一空: import string
第二空: d.get(word,0)+1
第三空: item[1]
第四空: “,”.join(ls)
2读入vacations.csv文件数据,先得到2018年的节假日放假日期。再获得用户输入,根据用户输入的一组整数序号(序号间采用空格分隔,以回车结束),输出这些序号对应的节假日的名称、假期范围。要求每个节假日信息一行。若输入的序号有误,则给出对应的提示信息。 参考输入和输出示例格式如下:
请输入节假日序号:1 5 10 15
元旦(1)假期是12月30日至01月01日之间
端午节(5)假期是06月16日至06月18日之间
输入节假日编号10有误!
输入节假日编号15有误!
vacations.csv
fi=open(“vacations.csv”,”r”)
ls=__________
for line in fi:
ls.append(line.strip(“\n”).)
fi.close()
s=input(“请输入节假日序号:”)
while s!=””:
slist=
for i in slist:
flag=False
for line in ls:
if :
print(“{}({})假期是{}月{}日至{}月{}日之间”.format(line[1],line[0],line[2][:2],line[2][2:],line[3][:2],line[3][2:]))
__________
if flag == False:
print(“输入节假日编号{}有误!”.)
s=input(“请输入节假日序号:”)
第一空: []
第二空: split(“,”)
第三空: [s,split]
第四空: i==line[0]
第五空: flag=True
第六空: format(i)
5.2.6-1 微博数据分析
1利用课程中提供的微博数据,统计出微博数据来源及其出现的次数,再对出现次数进行排序,并将排名前10的微博数据来源输出到窗体,格式如下:
新浪微博:24979
iPhone客户端:11123
Android客户端:8892
皮皮时光机:5711
微话题:2946
专业版微博:2410
360浏览器超速版:2200
分享按钮:2139
FaWave:1694
微博桌面:1641
请完善程序:
import os
def readfiles(dir1):
filedata=[]
filelist=os.listdir(dir1)
for files in filelist:
sfilename=dir1+”/“+files
fileread=open(sfilename,’r’,encoding=’utf-8’)
for line in fileread:
filedata+=eval(line)
fileread.close()
return filedata
dictlist=readfiles(os.getcwd() +”/二胎数据”)
sourcedict={}
for dic in dictlist:
sourcedict[dic[“source”]]=sourcedict.get(dic[“source”],0)+1
sourcelist=____________________
sourcelist.sort(key=lambda x:x[1],)
for k in range(10):
print(“{}:{}”.format())
第一空: list(sourcedict.items())
第二空: reverse=True
第三空: sourcelist[k][0],sourcelist[k][1]
2利用问题1中的dictlist中的信息,得到微博报告数最多的(reportCount)的内容。请完善程序:
dictlist=readfiles(os.getcwd() +”/二胎数据”)
maxpos=0
for i in range(1,):
if int(__________ [“reportCount”])>int(_____________ [“reportCount”]):
maxpos=i
print(“报告数最多的:”,dictlist[maxpos][])
print()
第一空: len(dictlist)
第二空: dictlist[i]
第三空: dictlist[maxpos]
第四空: “content”
3利用问题1中的dictlist中的信息,搜索微博内容中包含多个关键字的话题。(多个关键字之间用空格间隔) 如:
请输入你关心的话题(多关键字用空格隔开):二胎 北京 文章
输出:
《北京晨报》的专题“公众热议:单独生二胎难见效果?”节选了我的文章《放开单独二胎没有积极意义》:http://t.cn/zRoIWP8
…………
请完善程序:
dictlist=readfiles(os.getcwd() +”/二胎数据”)
while True:
findinfo=input(“请输入你关心的话题(多关键字用空格隔开):”)
if findinfo==”#”:
break
findlist=findinfo.
for dic in dictlist:
bfind=_________
for info in findlist:
bfind=bfind _______ (info in dic[‘content’])
if bfind:
print(dic[‘content’])
print()
第一空: split(“ “)
第二空: True
第三空: and
5.2.6-2 量表调查
1 现有一个调查问卷investigate,其内容如下:
[{‘questionNo’: 1, ‘title’: ‘你使用网络是否方便?’, ‘optionnum’: 3, ‘style’: 0, ‘options’: [‘方便’, ‘一般’, ‘不方便’]}, {‘questionNo’: 2, ‘title’: ‘你知道的医学网站有哪些?(多选)’, ‘optionnum’: 6, ‘style’: 1, ‘options’: [‘国际性综合生物医学信息书目数据库’, ‘中国基础设施工程’, ‘丁香园’, ‘网上临床医学信息服务系统’, ‘万方数据库’, ‘其他(百度等)’]}, ……, {‘questionNo’: 15, ‘title’: ‘你知道的现阶段学校提供的有关的网络医学资源有哪些?(填空)’, ‘optionnum’: 0, ‘style’: 2}]
现要根据该调查文本的内容进行调查,并统计调查结果。
其中,’questionNo’为该题目的实际题号;’title’为问题的题干;’optionnum’为选项数目;’style’为该问题的类型(0为单选,1为多选,2为填空);’options’为选项内容构成的列表。
现用student_status文件记录应该参加问卷调查的学生的状态,如下图,0表示未参加,1表示已参加。不在该字典的学生没有权限参与调查。
用户输入的问卷结果以下图格式存储(注意,匿名调查,不记录学号)在answers文件中:
每个参与调查的学生问卷结果为一个字典,字典的键为实际题号,字典的值为用户选择的选项的序号或填空填入的内容。
要求如下:
- 随机顺序展示问卷;
- 若单选题输入多个选项给出错误提示“该题为单选,请重新选择!“,并让用户重新输入答案;
- 答案中若出现选项中没有的选项,给出对应提示,如没有选项M,则提示“没有选项M,请重新选择!“
- 若用户输入的答案为空,则提示“答案不能为空!请重新选择!“
- 要求选项随机顺序显示(特别要注意,根据用户的答案应该记录这些选项的实际序号,而非随机顺序之后的序号)
运行的部分效果如下图:
相关文件请下载:
问卷调查.rar
import random
#———-从文件student_status中读出记录了可参与调查的人员名单及是否已参与调查的状态的字典———-
f=open(“student_status”,”r”)
studentdic=eval(f.read())
f.close()
#———-从文件student_status中读出记录了可参与调查的人员名单及是否已参与调查的状态的字典———-
while True:
studentno=input(“请输入您的学号(退出请输入‘#’):”)
if studentno==”#”:
break
elif studentno __________ studentdic:
print(“您没有参与调查的权限!”)
elif studentdic[studentno]==1:
print(“您已参与过调查,感谢您的参与!”)
else:
f=open(“investigate”,”r”)
questionlist=__________
f.close()
random.shuffle(questionlist) #随机生成调查题目次序
answerdic={}
tempno=1 #tempno为展示给用户的虚拟序号
for question in questionlist:
print(“{}、{}”.format(tempno,)) #展示问卷的标题
if question[“style”]!=2:
#—————选择题的选项显示—————
optionlist=question[“options”][:]
random.shuffle() #选项乱序
optionstr=””
optionsno=”ABCDEFGHIJ”[:question[“optionnum”]]
for i in range(len(optionlist)):
optionstr+=optionsno[i]+”. “+optionlist[i]+” “
print(optionstr)
#—————选择题的选项显示—————
#———-提示用户输入并记录结果(包括输入空、单选输入多选项、输入没有的选项等特殊处理)———-
while True:
answer=input(“您的选择:”)
if answer==__________:
print(“答案不能为空!请重新选择!”)
continue
if question[“style”]==0 and len(answer)>1:
print(“该题为单选,请重新选择!”)
__________
trueanswer=””
flag=True #flag用来标记是否答案中的选项均存在
for ch in answer:
if ch not in optionsno:
print(“没有选项”,ch,”,请重新选择!”)
__________
break
else:
trueanswer+=str(question[“options”].index(optionlist[optionsno.index(ch)])) #获取选项的真实序号
if flag:
answer=trueanswer
__________
#———-提示用户输入并记录结果(包括输入空、单选输入多选项、输入没有的选项等特殊处理)———-
else:
answer=input("你的答案:")
answerdic[question[__________]]=answer
tempno+=1
#----------将存放该用户问卷调查结果的字典存入answers文件----------
f=open("answers","a")
f.write(__________+"\n")
f.close()
#----------将存放该用户问卷调查结果的字典存入answers文件----------
#----------修改学生参与状态为1,并重新写回student_status文件----------
studentdic[studentno]=1
f=open("student_status","w")
f.write(str(studentdic))
f.close()
#----------修改学生参与状态为1,并重新写回student_status文件----------
第一空: not in
第二空: eval(f.read())
第三空: question[“title”]
第四空: optionlist
第五空: “ “
第六空: continue
第七空: flag=False
第八空: break
第九空: “questionNo”
第十空: str(answerdic)
6.4.4-1 turtle填空1
1使用turtle库的turtle.right()函数和turtle.fd()函数绘制一个五角星,边长为200像素,5个内角度数为144,效果如下图所示。
请完善下面的程序:
from turtle import *
for i in ______:
fd()
______________
第一空: range(5)
第二空: 200
第三空: right(144)
2使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个边长为200像素,画笔为2号笔的正五边形,正五边形5个内角均为108度,效果如下图所示,箭头与下图严格一致。
请完善下面的程序:
import ___________
turtle.pensize(2)
d=________
for i in range(5):
turtle.seth(d)
d+=________
turtle.fd(________)
第一空: turtle
第二空: 72
第三空: 72
第四空: 200
3 使用turtle库的turtle.color()函数和turtle.circle()函数绘制一个黄底黑边的圆形,半径为100。效果如下图所示。
请完善下面的程序:
import turtle
turtle.color(“black”,”yellow”)
turtle._____________
turtle.circle()
turtle.___
第一空: begin_fill()
第二空: 100
第三空: end_fill()
6.4.4-2 turtle填空2
1 使用turtle库的turtle.fd()函数和turtle.left()函数绘制一个边长为200的太阳花,效果如下图所示。
请完善下面的程序:
import turtle
turtle.color(“red”,”yellow”)
turtle._____________
for i in range(36):
turtle.fd()
turtle.left()
turtle.end_fill()
第一空: begin_fill()
第二空: 200
第三空: 170
2 使用turtle库的turtle.circle()函数、turtle.seth()函数和turtle.hideturtle()函数绘制一个四瓣花图形,效果如下图所示。
请完善下面的程序:
import turtle
for i in range():
turtle.seth()
turtle.circle(50,90)
turtle.seth(-90*(1-i))
turtle.circle()
turtle.______
第一空: 4
第二空: 90*(i+1)
第三空: 50,90
第四空: hideturtle()
3 使用turtle库的fd()函数和right()函数绘制一个边长为100像素的正六边形,再用circle()函数绘制半径为60像素的红色圆内接正六边形。效果如下图所示。
请完善下面的程序:
from turtle import *
pensize(5)
for i in range(6):
fd()
right()
color(“red”)
circle(60,_________)
第一空: 100
第二空: 60
第三空: steps=6
7.1 综合应用选择题
1C 下面不属于Python的标准库的是________。
• A、time
• B、turtle
• C、pygame
• D、random
2D以下代码绘制的图形是__________。
import turtle as t
for i in range(1,7):
t.fd(50)
t.left(60)
• A、三角形
• B、正方形
• C、五角星
• D、六边形
3B以下程序输出到文件a.txt里的结果是__________。
fo=open(“a.txt”,’w’)
x=[‘春眠’,’处处’,’夜来’]
fo.writelines(x)
fo.close()
• A、’春眠’
‘处处’
‘夜来’
• B、春眠处处夜来
• C、春眠
处处
夜来
• D、’春眠’,’处处’,’夜来’
4C以下关于Python全局变量和局部变量的描述中,错误的是__________。
• A、局部变量在使用过后立即被释放
• B、全局变量一般没有缩进
• C、全局变量和局部变量的命名不能相同
• D、一个程序中的变量包含两类:全局变量和局部变量
5C设 strl =’* @ python@ * ‘,语句 print ( strl [2: ]. strip(‘@’))的执行结果是__________。
• A、python *
• B、* @ python@ *
• C、python@ *
• D、* python *
7.2 综合应用填空题
1 《三国演义》是中国古典四大名著之一,曹操是其中主要人物,文件 data. txt 给出《三国演义》简介。
问题:用Python 语言中文分词第三方库jieba对文件 data.txt 进行分词,并将结果写入文件out.txt,每行一个词,例如:
内容简介
编辑
整个
故事
在
东汉
末年
至
西晋
……
请完善以下程序:
import jieba
f=open(“data.txt”, “r”)
lines=f.readlines()
f.close()
f=open(“out.txt”, “w”)
wordlist=[]
for line in lines:
line=______________ #删除每行首尾可能出现的空白字符
wordlist+=________________ #用jieba分词,对每行内容进行分词,并添加至wordlist中
f.write(“\n”._______________) #将分词结果存到文件out.txt中
f.close()
data.txt
第一空: line.strip()
第二空: jieba.lcut(line)
第三空: join(wordlist)
2 使用字典和列表型变量完成村长选举。某村有40名有选举权和被选举权的村民,名单文件 name. txt给出,从这40名村民中选出一人当村长, 40人的投票信息由文件 vote.txt给出,每行是一张选票的信息,有效票中得票最多的村民当选。
问题1:请从vote.txt中筛选出无效票写入文件vote1. txt。有效票的含义是:选票中只有一个名字且该名字在name.txt 文件列表中,不是有效票的票称为无效票。
问题2: 给出当选村长的名字及其得票数。
请完善以下程序:
f=open(“name.txt”)
names=f.readlines()
f.close()
f=open(“vote.txt”)
votes=f.readlines()
print(votes)
f.close()
f=open(“vote1.txt”,”w”)
d={}
NUM=0
for vote in _________:
print(vote)
num= len(vote.split())
if num==1 and vote in __________:
d[vote[:-1]]=________________ +1
NUM+=1
else:
f.write(___________)
f.close()
ls=list(d.items())
ls.sort(key=lambda s:s[1],)
name=
score=____________
print(“有效票数为:{} 当选村长村民为:{},票数为:{}”.format(NUM,name,score))
name.txt
vote.txt
第一空: votes
第二空: names
第三空: d.get(vote[:-1],0)
第四空: vote
第五空: reverse=True
第六空: ls[0][0]
第七空: ls[0][1]
• 综合1
一.单选题(共10题,50.0分)
1以下关于Python二维数据的描述中,错误的是_____________。
• A、从CSV文件获得数据内容后,可以用replace()来去掉每行最后的换行符
B、若一个列表变量里的元素都是字符串类型,则可以用join()合成字符串
C、列表中保存的二维数据,可以通过循环用write()写入CSV文件
D、CSV文件的每一行是一维数据,可以用列表、元组和集合表示
我的答案:D
2以下的函数定义中,错误的是_____________。(5.0分)
• A、def vfunc(a,b=2):
• B、def vfunc(*a,b):
• C、def vfunc(a,b):
• D、def vfunc(a,b):
我的答案:B
3
表达式34**2//8%7的计算结果是_____________。(5.0分)
• A、6
• B、4
• C、2
• D、7
我的答案:A
4
给以下程序填空,能输出{0: [90, ‘Aele’], 1: [87, ‘Bob’], 2: [93, ‘lala’]}结果的选项是___________。
x=[90,87,93]
y=(“Aele”,”Bob”,”lala”)
z={}
for i in range(len(x)):
______________
print(z)
• A、z[i]=x[i],y[i]
• B、z[i]=list(zip(x,y))
• C、z[i]=[x[i],y[i]]
• D、z[i]=[x,y]
我的答案:C
5假设city.csv文件内容如下:
巴哈马,巴林,孟加拉国,巴巴多斯
白俄罗斯,比利时,伯利兹
以下代码的输出结果是:
f=open(“city.csv”,”r”,encoding=”utf-8”)
ls=f.readlines()
f.close()
print(ls)
• A、[‘巴哈马,巴林,孟加拉国,巴巴多斯\n白俄罗斯,比利时,伯利兹’]
• B、[[‘巴哈马’, ‘巴林’, ‘孟加拉国’, ‘巴巴多斯’], [‘白俄罗斯’, ‘比利时’, ‘伯利兹’]]
• C、[‘巴哈马,巴林,孟加拉国,巴巴多斯\n’, ‘白俄罗斯,比利时,伯利兹’]
• D、[[‘巴哈马’, ‘巴林’, ‘孟加拉国’, ‘巴巴多斯’, ‘\n’], [‘白俄罗斯’, ‘比利时’, ‘伯利兹’]]
我的答案:C
6以下程序的输出结果是_____________。
s=”Pame”
for i in range(len(s)):
print(s[-i],end=””)
• A、Pame
• B、Pema
• C、emaP
• D、ameP
我的答案:B
7以下程序的输出结果是_____________。
def fibRate(n):
if n<=0:
return -1
elif n==1:
return -1
elif n==2:
return 1
else:
L=[1,1]
for i in range(2,n):
L.append(L[-1]+L[-2])
return L[-2]/L[-1]
print(fibRate(5))
• A、0.6
• B、0.5
• C、-1
• D、0.625
我的答案:A
8以下代码的输出结果是:
x=”A\0B\0C\n”
print(len(x))
• A、9
• B、6
• C、7
• D、4
我的答案:B
9以下程序的输出结果是_____________。
ls=[[1,2,3],[[4,5],6],[7,8]]
print(ls[1][0]+ls[len(ls)-1])(5.0分)
• A、[1, 2, 3, 7, 8]
• B、[4, 5, 8]
• C、[4, 5, 7, 8]
• D、[1, 2, 3, 6]
我的答案:C
10以下程序的输出结果是_____________。
L1=[4,7,3,5]
L2=L1
L3=L1.copy()
L2.reverse()
L3.sort()
print(L1)
• A、3,4,5,7
• B、[3,4,5,7]
• C、5,3,7,4
• D、[5,3,7,4]
我的答案:D
二.填空题(共4题,50.0分)
1
使用turtle库的turtle.fd()函数和turtle.left()函数绘制一个边长为200像素的正方形及一个紧挨四个顶点的圆形。效果如下图所示。
import turtle
turtle.pensize(2)
for i in range():
turtle.fd(200)
turtle.left(90)
turtle.left()
turtle.circle(*pow(2,0.5))
第一空: 4
第二空: -45
第三空: 100
2键盘输入字符串s,按要求把s输出到屏幕,格式要求:宽度为20个字符,等号字符=填充,居中对齐。如果输入字符串超过20位,则全部输出。例如:键盘输入字符串s为”PYTHON”,屏幕输出=======PYTHON=======
s = input(“请输入一个字符串:”)
print(“{}”.format(s))
第一空: :=^20
3根据斐波拉契数列的定义,F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n>=2),输出不大于100的序列元素。例如:屏幕输出实例为:0,1,1,2,3,…(略)
a,b=0,1
while :
print(a,end=”,”)
a,b= ____________
第一空: a<=100
第二空: b,a+b
4键盘输入一组我国高校所对应的学校类型,以空格分隔,共一行,示例格式如下:
综合 理工 综合 综合 综合 师范 理工
统计各类型的数量,从数量多到少的顺序屏幕输出类型及对应数量,以英文冒号分隔,每个类型一行,输出参考格式如下:
综合:4
理工:2
师范:1
txt = input(“请输入学校类型序列: “)
schools=___
d = {}
for school in schools:
d[school]=+1
ls = list()
ls.sort(key=lambda x:x[1],___________ ) # 按照数量排序
for k in ls:
print(“{}:{}”.format(k[0], k[1]))
第一空: txt.split(‘ ‘)
第二空: d.get(school,0)
第三空: d.items()
第四空: reverse=True
综合2
一.单选题(共10题,50.0分)
1以下程序的输出结果是__________。
s=”12,34,56,78”
print(s[::-1].split(“,”))
A、[‘87’, ‘65’, ‘43’, ‘21’]
• B、’87’, ‘65’, ‘43’, ‘21’
• C、78, 56,34, 12
• D、[78, 56,34, 12]
我的答案:A
2以下关于列表变量ls操作的描述中,错误的是______。
• A、ls.append(x):在ls最后增加一个元素
B、ls.clear():删除ls的最后一个元素
C、ls.copy():生成一个新列表,复制ls的所有元素
D、ls.reverse():反转列表ls中所有元素
我的答案:B
3以下程序的输出结果是__________。
x=3.1415926
print(round(x,3)+pow(round(x),2)*int(x))A、30.142
• B、21.142
• C、30.141
• D、21.141
我的答案:A
4关于以下代码的描述中,错误的是_________。
def func(a,b):
c=a**2+b
b=a
return c
a=10
b=100
c=func(a,b)+a
• A、执行该函数后,变量a的值为10
B、执行该函数后,变量b的值为100
C、执行该函数后,变量c的值为200
D、函数名为func
我的答案:C
5以下程序的输出结果是__________。
ls=[1,2,3]
lt=[4,5,6]
lss=ls[1:]+lt[:-1]
lss.insert(3,2)
print(lss)
A、[2, 3, 2, 4, 5]
• B、[1, 2, 3, 2, 4, 5]
• C、[2, 3, 4, 2, 5]
• D、[2, 3, 5, 2, 6]
我的答案:C
6以下程序的输出结果是__________。
d={}
for i in range(26):
d[chr(i+ord(“a”))]=chr((i+13)%26+ord(“a”))
for c in “Python”:
print(d.get(c,c),end=””)(
• A、Python
• B、Cabugl
• C、Pabugl
• D、Plguba
我的答案:D
7以下关于数据组织的描述中,错误的是_________。
• A、二维数据采用二维表的方式组织,可以用Python列表类型表示
B、一维数据采用线性方式组织,可以用Python集合或列表类型表示
C、更高维数据组织由键值对类型的数据构成,可以用Python字典类型表示
D、字典类型仅用于表示一维和二维数据
我的答案:D
8以下程序的输出结果是__________。
for s in “HelloWorld”:
if s=="W":
continue
print(s,end="")(
A、Hello
• B、World
• C、Helloorld
• D、HelloWorld
我的答案:C
9以下程序的输出结果是__________。
def loc_glo( b = 3, a = 6):
global z
z+=a*2+4b
return z
z = 10
print(z,loc_glo (6,3))
• A、10 43
• B、43 43
• C、10 58
• D、58 58
我的答案:A
10以下代码执行后,book.txt文件的内容是_________。
fo=open(“book.txt”,”w”)
ls=[“book”,”23”,”20100”,”20”]
fo.write(str(ls))
fo.close()(5.0分)
• A、[book, 23, 20100, 20]
• B、[‘book’, ‘23’, ‘20100’, ‘20’]
• C、book,23,20100,20
• D、book232010020
我的答案:B
二.填空题(共4题,50.0分)
1
下面代码的功能是使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个
边长为150像素的正八边形。请在横线处填上恰当的代码将程序补充完整。
import turtle
turtle.pensize(2)
d=0
for i in range(1,):
__________
d+=
turtle.seth(d)
第一空: 9
第二空: turtle.fd(150)
第三空: 45
2
下面代码的功能是查找一组单词中的长度最长的单词,
如果给定的一组单词是:’cad’,’VB’,’Python’,’MATLAB’,’hello’,’world’
则输出的结果为:
the longest words are:
Python
MATLAB
请在横线处填上恰当的代码将程序补充完整。
def proc(strings):
m=0
lst=[]
for i in range(len(strings)):
if len(strings[i])>m:
m = len(strings[i])
for i in range(len(strings)):
if len(strings[i])__________m:
lst.append(strings[i])
return __________
strings=[‘cad’,’VB’,’Python’,’MATLAB’,’hello’,’world’]
result=__________
print(“the longest words are:”)
for item in result:
print(“{: >25}”.format(item))
第一空: ==
第二空: lst
第三空: proc(strings)
3
下面代码的功能是键盘输入一段中文文本(不含标点符号和空格),采用jieba库对其进行分词,输出该文本中词语的平均长度,保留1位小数。
例如:
键盘输入:吃葡萄不吐葡萄皮
屏幕输出:1.6
请在横线处填上恰当的代码将程序补充完整。
txt=input(“请输入一段中文文本:”)
print(“{}”.format(len(txt)/len(ls)))
第一空: import jieba
第二空: ls=jieba.lcut(txt)
第三空: :.1f
4
下面代码的功能是将用户输入的电话号码替换为中文字符。
例如:
键盘输入:13910687890
屏幕输出:一三九一〇六八七八九〇
请在横线处填上恰当的代码将程序补充完整。
n=input(“请输入电话号码:”)
s=”〇一二三四五六七八九”
for c in “0123456789”:
n=
print(n)
第一空: n.replace(c,s[int(c)])
python期末复习
1 | #变量开头不能为数字 |
python基本函数
1 | ####一、基本数字类型及运算符 |
python 题库
1 | ##一、选择题 |
python基本方法
1 | ##安装python第三方库 |
1 | ##wordcloud |
1 | f = open('八十天环游地球.txt',encoding = 'utf-8') |
1 | ##价格文件的变化 |
1 | ##选举 |
1 | ##生成100个三位整数并保存,再从该文件读取所有的数,记录并存档其中的素数 |
1 | ##二维文件处理(CSV) |
1 | ##新冠数据分析 |
1 | ##2023.4.10 |
1 | ##2、选奖学金 |
1 | ##根据数据计算 |
1 | ##Json数据处理(using 'eval()' fct 可以把字符串转为一个表达式,或者生成列表) |
1 | ##分析微博Json |
1 | ##检索,keywords用','隔开,并且有多种检索逻辑 |
Python 函数
生成Markdown插入图片代码
1 | import os |
素数判断函数
1 | def IsPrime(n): |
计算每位数的阶乘的函数
1 | def Factorial(n): |
寻找互质数
1 | for m in range(100,1000): |
找出规定范围内每位数都是素数的数
1 | for n in range(100,1000): |
寻找范围内的完数
1 | for n in range(10,10000): |
最小公倍数
1 | m = int(input("Please input the first num:")) |
寻找4位降序数
1 | import random |
实现读取json文件功能的部分函数
1 | import os |
获取Json字典中值数量最多的项目
1 | def getContent(key): |
直角坐标系两点求距离
1 | print("A、B两点坐标分别为A(x1,y1)、B(x2,y2)") |
通过if-elif-else计算税
1 | income = eval(input('请输入月收入:')) |
生成指定项数的斐波拉契数列
1 | list0 = [1,1] |
将分钟转化为X小时X分钟
1 | min_time = eval(input('please input you num(minute):\n')) |
try-except-finally
1 | try: |
若有一个else,至少有一个except
format方法
1 | list1=[1,2,3,4] ##stuid |
if-else实现注册功能
1 | ####operation:1register 2login 3changepwd 4logout |
获取hitokoto的api内容并且将其保存至HTML文件中
1 | import time |
format用法指南
<模板字符串>.format(<逗号分隔的参数>)
"I'm {}, I'm {} years old.".format('Tom','five')
在模板字符串中,大括号内有如下方法:{<参数序号>:<格式控制标记>}如模板字符串中有多个{},且{}中没指定序号,按出现顺序对应参数。格式控制标记顺序:<填充><对齐><宽度><,><.精度><类型>等六个字段
<填充>:修改默认填充字符。
<对齐>:<左对齐,>右对齐,^居中对齐。
<宽度>:输出字符宽度。如实际位数小于指定宽度,默认以空格补充。反之,则按实际位数输出。
<,>:用于显示数字类型的千位分隔符。
<.精度>:对于浮点数,精度表示小数部分的有效位数;对于字符串,精度表示输出的最大长度,如果实际长度大于精度,仍输出精度指定的长度。
<类型>:表示输出整数和浮点数的格式规则。
1.对于整数类型,输出格式主要包括:b(二进制),d(十进制),o(八进制),x(小写十六进制),X(大写十六进制)等。
2.对于浮点数类型,输出格式包括:e(小写e指数形式),E(大写E指数形式),f(标准浮点形式),%(百分比)。
报错解释
SyntaxError:解释器语法错误
NameError:尝试访问一个未申明的变量
TypeError 数据类型不匹配
KeyError:请求一个不存在的字典关键字
IOError:输入输出错误(打开的文件不存在)
AttributeError: 尝试访问未知的对象属性
KeyError不存在字典关键字
ZeroDivisionError:除数为零
FileNotFoundError打开文件不存在
IndexError:请求的索引超过序列范围