资料Python期末考试题Word文件下载.docx
《资料Python期末考试题Word文件下载.docx》由会员分享,可在线阅读,更多相关《资料Python期末考试题Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。
7.以下Python代码输出结果中说法正确的是()。
x=0
foriinrange(1,100):
x=x+i
print(x)
A.1+100的和B.1+99的和
C.1~99所有整数的和D.1~100所有整数的和
8.两个阻值分别为R1、R2的电阻并联后,电路阻值R可由公式求解,下面能正确求出R的Python表达式是()
A.(R1+R2)/(R1*R2)B.R1+R2/(R1*R2)
C.R1*R2/R1+R2D.R1*R2/(R1+R2)
9.下列不可以作为Python合法变量名的是()
A.c0B.2aC.a_3D.小河
10.对于Python语言中的语句“x=(num//100)%10”,当num的值为45376时,x的值应为()
11.在Python中,已知a=3,b=5,运行下列程序段后,a和b的值为
a=a*b
b=a//b
a=a//b
A.a=3b=5B.a=15b=3C.a=5b=5D.a=5b=3
12.python用来表示代码块所属关系(控制层级结构的)的语法符号是()
A.圆括号B.大括号C.缩进D.冒号
13.Python文件的后缀名是()。
A..docB..vbpC..pyD..exe
14.Python表达式“50-50%6*5//2**2”的结果为()
A.48B.25C.0D.45
15.下列属于正确的Python变量名的是()
A.True
B.88abc
C.abc&
88
D._abc88
二、程序填空
16.若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。
编写python程序,实现如下功能:
输入n的值,统计显示n以内的所有双胞胎数。
程序运行界面如图所示:
实现上述功能的程序如下,请在划线处填入合适的代码。
defisprime(x):
foriinrange(2,x):
if①__________:
returnFalse
returnTrue
n=int(input(“请输入一个正整数n:
”))
c=0
k=3
whilek<
=n-2:
ifisprime(k)and②___________:
print(k,k+2)
③___________
k=k+1
print(“共有”+str(c)+“对双胞胎数”)
17.阅读程序。
分析以下关于字符拼接与转换的Python程序并回答问题。
students=['
小明'
'
小红'
小刚'
]
scores={'
:
95,'
90,'
90}
print(len(students))
print(len(scores))
(1)students的数据类型是______________。
(2)scores的数据类型是_____________。
(3)在scores中,每个字符与后面的数值共同构成了一个____________。
(4)len(students)的返回值是____________。
(5)print(len(scores))的输出结果是__________。
18.小强开展网上直播售货,为此购买了以下直播硬件设备:
①手机②耳机③自拍杆④数码照相机⑤背景画⑥无线路由器
请回答下列问题:
(1)在购买的直播硬件设备中,属于模数转换的设备是__________(多选,填序号)
(2)小强选择借助某著名直播平台售货,根据直播平台要求,直播画面是1080*1920像素、24位真彩色、帧频为25fps,视频压缩比为100:
1,在不考虑视频传输优化的情况下,问小强家目前10Mbps的宽带__________(选填:
能/不能)满足直播要求。
请列式证明__________。
(3)小强将某一天的售货情况从平台导出,保存为文件shqk.xlsx.数据已按“流水号”升序排序,如图a所示。
流水号为2019030602的售货记录中,已成交的商品类别数是__________(填写数字),该流水号的总利润是__________元(填写数字,保留1位小数)
图a
(4)为了快速了解各类别商品的利润,小强用python编程处理。
处理的结果界面如图b所示。
部分代码如下,请在①②划线处填写合适的代码。
图b
importpandasaspd
importnumpyasnp
importmatplotlib.pyplotasplt
detail=pD.read_excel(___)
print(detail)
foriinrange(len(detail[:
])):
ifdetail[‘成交与否’][i]==1:
detail[‘lirun’]=___
dg=detai1[[‘类别’,‘lirun’]].groupby(by=‘类别’)
print(“总利润”,detail[‘lirun’].sum())
’数据可视化代码略
19.操作说明:
打开文件“Y:
/1/1.py”,将程序补充完整,不得增加,删除语句、或改变程序原有结构,操作结束后保存。
以下程序段的功能是:
根据从键盘上输入的表示星期几的数字,若输入的数字不是在范围(1至7)输出“输入错误!
”,否则输出对应的英文星期的简称如“Mon、Tue、Wed、Thu、Fri、Sta、Sun”。
n=int(input(“请输入一个数:
list=[“Mon”,”Tue”,”Wed”,”Thu”,”Fri”,”Sta”,”Sun”]
if________:
print(“输入错误!
”)
else:
print(________)
20.求100以内素数。
21.输入n,计算s=1!
+2!
+...+n!
的未6位(不含前导0)。
N<
=1000000,n!
表示前n个正整数之积。
【参考答案】***试卷处理标记,请不要删除
1.C
【详解】
本题考查的是Python函数。
split()通过指定分隔符对字符串进行切片,无参数即分隔所有,len()方法返回对象(字符、列表、元组等)长度或项目个数,故len(“myname
解析:
C
split()通过指定分隔符对字符串进行切片,无参数即分隔所有,len()方法返回对象(字符、列表、元组等)长度或项目个数,故len(“mynameisjames”.split())=4;
int函数可以将数字转换为整数,直接取整,不会四舍五入,int(4.99)=4;
sum()方法对系列进行求和计算,sum([1,2,1,1])=5;
max()方法返回给定参数的最大值,参数可以为序列,max([1,2,3,4])=4。
故应选C。
2.B
本题主要考查Python关系运算符。
用来表示不等于的符号是“!
=”,“==”表示等于,“>
=”表示大于等于,“<
=”表示小于等于,故本题选B选项。
B
3.C
本题主要考查Python程序语句。
x=2,y=1,语句y+=x*2等价于y=y+x*2=1+2*2=5,故y的值是5,故本题选C选项。
4.D
本题考查的是Python表达式。
sqrt()求平方根,乘法运算符为“*”,除法为“/”,嵌套函数均使用小括号。
表示为(-b+math.sqrt(b*b–4*a
D
表示为(-b+math.sqrt(b*b–4*a*c))/(2*a)。
5.B
本题考查的知识点是python的函数。
Python中常用的输入输出语句分别是input()print(),故选项B正确。
6.ABD
本题考查Python语句。
初始值会涉及到赋值语句、从1加到100会用到循环语句、最后会输出结果用到输出语句。
故本题选ABD
ABD
7.C
本题考查的是Python代码程序。
本题的关键点是range()函数,其取到的区间数值为前闭后开,所以为1-99的整数。
循环过程就是执行1-99所有整数的求和过程。
故答案为C。
8.D
本题考查的是python表达式的书写。
表达式的书写要在一行中,并且乘号不能省略,并且用括号表示其计算的优先级。
电阻表达式转换后,选项D正确。
电阻表达式
转换后,选项D正确。
9.B
本题主要考查Python变量的命名。
变量的命名规则有:
不能以数字开头,可以以字母或下划线开头,不能包含特殊字符,不能是关键词,故2a不可以作为Python合法变量名,故本题选B选项。
10.A
本题主要考查Python语句。
num=45376,x=(45376//100)%10=453%10=3,故x的值应为3,故本题选A选项。
A
11.D
本题主要考查Python表达式的运行。
a=3,b=5,a=a*b=15,b=a//b=15//5=3,a=a//b=15//3=5,故运行下列程序段后,a和b的
a=3,b=5,a=a*b=15,b=a//b=15//5=3,a=a//b=15//3=5,故运行下列程序段后,a和b的值为a=5b=3,故本题选D选项。
12.C
本题主要考查Python语法。
python用来表示代码块所属关系(控制层级结构的)的语法符号是缩进,故本题选C选项。
13.C
本题主要考查Python相关知识点知识点。
.doc是文字处理软件(word后缀名),.vbp是VisualBasic工程文件后缀名,.exe是可执行文件后缀名,.py是Python文件
.doc是文字处理软件(word后缀名),.vbp是VisualBasic工程文件后缀名,.exe是可执行文件后缀名,.py是Python文件的后缀名,故本题选C选项。
14.A
本题主要考查Python表达式的运算。
50-50%6*5//2**2=50-2*5//4=50-10//4=48,故本题选A选项。
15.D
本题主要考查Python变量名命名规则。
Python变量名命名规则如下:
(1)Python变量名可以由字母、数字、下划线(_)组成,其中数字不能打头;
(2)Python变量名不能是P
(2)Python变量名不能是Python关键字,但可以包含关键字;
(3)Python变量名不能包含空格。
由上可知D选项正确。
【点睛】
16.x%i==0或x//i==x/i或其他等价表达式isprime(k+2)或isprime(k+2)==Truec=c+1或c+=1
本题主要考查Python程序的执行与调试。
①isprime(x)函数判断x是不是素数,此处通过for循环判断(用x依次除i,看能不能整除,i的范围时从2~x),故填x%i==0或x//i==x/i。
②此处判断相差2的两个数是不是素数,若是,则输出这两个数,故此处填isprime(k+2)或isprime(k+2)==True。
③c用来统计双胞胎数的对数,若满足是双胞胎数的条件,故此处填c=c+1或c+=1。
17.列表字典键值对33
本题考查的是python语言的数据类型,列表和字典。
(1)列表是写在方括号[]之间,用逗号分隔开的元素列表,students=['
]就是列表。
(2)字典用{}标识,它是一个无序的“键(key):
值(value)”对集合,字典当中的元素是通过键来存取的,而不是通过偏移存取。
90}就是一个字典类型。
(3)其中“'
95”就构成了一个键值对。
(4)len()方法返回列表元素个数。
],里面有三个元素,故返回值是3。
(5)print(len(scores)),其中scores={'
90}该字典有3个键值对,故输出结果是3。
18.①④不能1080*1920*24*25*1/1024/1024/100≈10.8Mbps,大于网络传输带宽10Mbps,所以不能满足直播要求。
12或2.0‘shqk.xlsx’或“shqk.xlsx”(detai1[‘售价’]-detail[‘进价’])*detai1[‘数量’]
本题主要考查Python程序设计相关知识点。
①手机、数码照相机均属于模数转换的设备,可以实现模拟信号与数字信号的转换,故填①④。
②根据直播平台要求,直播画面是1080*1920像素、24位真彩色、帧频为25fps,视频压缩比为100:
1,在不考虑视频传输优化的情况下,小强家目前10Mbps的宽带不能满足直播要求。
③视频存储容量=像素*颜色深度*帧频*时长,1080*1920*24*25*1/1024/1024/100≈10.8Mbps,大于网络传输带宽10Mbps,所以不能满足直播要求。
④由图可知,1表示成交,0表示未成交,流水号为2019030602的售货记录中,已成交的商品类别数是1,都是饮料(即货号17和货号5)。
⑤该流水号的总利润是(2.9-2.5)*3+(1-0.8)*4=2.0,故填2或2.0。
⑥该表格文件名是shqk.xlsx,此处读入该表格文件,故填‘shqk.xlsx’或“shqk.xlsx”。
⑦利润=(售价-进价)*数量,数据已经读到detail中,故此处填(detai1[‘售价’]-detail[‘进价’])*detai1[‘数量’]。
19.n<
1orn>
7list[n-1]
本题主要考查Python程序调试。
①输入的数字不是在范围(1至7)输出“输入错误!
”,故此处if判断条件是n<
7。
②列表的索引是从0开始,即列表list索引是从0~6,而n的范围是从1~7,故此处填list[n-1]。
20.foriinrange(1,100):
ifi>
1:
forjinrange(2,i):
if(i%j)==0:
break
else:
print(i)
本题主要考查Python程序设计。
可以通过for循环找出100以内的素数,用i依次整数2~i-1,如果能整除表明i不是素数,否则i为质数,具体代码如下:
21.s=0
n=eval(input("
请输入一个数:
"
))
foriinrange(0,n):
f=1
forjinrange(1,i):
f=f*j
s+=f
print(s%1000000)
可以通过嵌套for循环实现题干要求,外层循环进行求和,内层循环实现阶乘,具体代码如下:
s=0