资料Python期末考试题
一、选择题
1.以下Python表达式中,哪项的值与其它三项不同( ) A.len(“my name is james”.split()) C.sum([1,2,1,1]) A.= = A.3
4.下列与数学表达式
B.!= B.4
B.int(4.99) D.max([1,2,3,4]) C.>= C.5
D.<= D.6
2.Python的关系运算符中,用来表示不等于的符号是( )
3.在Python程序中,已知x=2,y=1,当执行语句y+=x*2,y的值是( )
对应的python表达式,正确的是( )。
A.( - b + math. sqrt (b * b – 4 * a * c)) /a * a B.- b + math. sqrt (b * b – 4 * a * c) /2*a C.( -b + math. sqrt (b * 2 – 4 * a * c)) /(2 * a) D.( -b + math. sqrt ( b * b – 4 * a * c)) / (2 * a) 5.在 Python中常用的输入输出语句分别是( ) A.input() output() C.input() printf()
B.input() print() D.scandf() printf()
6.小林同学想要利用Python来编写一道程序,解决“1+2+3+……+100”这个问题,那么小林同学在编写程序的过程中可能会用到哪些语句( ) A.赋值语句 B.循环语句 C.条件语句 D.输出语句
7.以下Python代码输出结果中说法正确的是( )。 x=0
for i in range(1,100): x=x+i print(x) A.1+100的和 C.1~99所有整数的和
B.1+99的和
D.1~100所有整数的和
8.两个阻值分别为R1、R2的电阻并联后,电路阻值R可由公式求解,下面能正确求出R的Python表达式是( )
A.(R1+ R2)/(R1*R2) C.R1*R2/R1+R2
B.R1+R2/(R1*R2) D.R1*R2/(R1+R2)
9.下列不可以作为Python合法变量名的是( )
A.c0 应为( ) A.3 a = a * b b = a // b a = a // b A.a=3 b=5 A.圆括号 A..doc A.48 A.True B.88abc C.abc&88 D._abc88
B.2a C.a_3 D.小河
10.对于Python语言中的语句“x=(num//100)%10”,当num的值为45376时,x的值
B.4
C.5
D.6
11.在Python中,已知a=3,b=5,运行下列程序段后,a和b的值为
B.a=15 b=3 B.大括号 B..vbp B.25
C.a=5 b=5 C.缩进 C..py C.0
D.a=5 b=3 D.冒号 D..exe D.45
12.python用来表示代码块所属关系(控制层级结构的)的语法符号是( ) 13.Python文件的后缀名是( )。
14.Python表达式“50-50%6*5//2**2”的结果为( ) 15.下列属于正确的Python变量名的是( )
二、程序填空
16.若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。编写python程序,实现如下功能:输入n的值,统计显示n以内的所有双胞胎数。程序运行界面如图所示:
实现上述功能的程序如下,请在划线处填入合适的代码。 def isprime(x): for i in range(2,x): if①__________: return False return True
n=int(input(“请输入一个正整数n:”)) c=0 k=3
while k<=n-2:
if isprime(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
import pandas as pd import numpy as np import matplotlib. pyplot as plt detail=pD.read_excel (___) print(detail)
for i in range(len(detail[:])): if detail[‘成交与否’][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(“my name 解析:C 【详解】
本题考查的是Python函数。split() 通过指定分隔符对字符串进行切片,无参数即分隔所有,len() 方法返回对象(字符、列表、元组等)长度或项目个数,故len(“my name is james”.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
【详解】
本题主要考查Python关系运算符。用来表示不等于的符号是“!=”,“= =”表示等于,“>=”表示大于等于,“<=”表示小于等于,故本题选B选项。
3.C 【详解】
本题主要考查Python程序语句。x=2,y=1,语句y+=x*2等价于y=y+x*2=1+2*2=5,故y的值是5,故本题选C选项。
解析: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 【详解】
本题考查的是Python表达式。sqrt()求平方根,乘法运算符为“*”,除法为“/”,嵌套函数均使用小括号。
表示为( -b + math. sqrt ( b * b – 4 * a * c)) / (2 * a)。
5.B 【详解】
本题考查的知识点是python的函数。Python中常用的输入输出语句分别是input() print(),故选项B正确。
解析:B 【详解】
本题考查的知识点是python的函数。Python中常用的输入输出语句分别是input() print(),故选项B正确。
6.ABD 【详解】
本题考查Python语句。
初始值会涉及到赋值语句、从1加到100会用到循环语句、最后会输出结果用到输出语句。故本题选ABD
解析:ABD 【详解】
本题考查Python语句。
初始值会涉及到赋值语句、从1加到100会用到循环语句、最后会输出结果用到输出语
句。故本题选ABD
7.C 【详解】
本题考查的是Python代码程序。本题的关键点是range()函数,其取到的区间数值为前闭后开,所以为1-99的整数。循环过程就是执行1-99所有整数的求和过程。故答案为C。
解析:C 【详解】
本题考查的是Python代码程序。本题的关键点是range()函数,其取到的区间数值为前闭后开,所以为1-99的整数。循环过程就是执行1-99所有整数的求和过程。故答案为C。
8.D 【详解】
本题考查的是python表达式的书写。表达式的书写要在一行中,并且乘号不能省略,并且用括号表示其计算的优先级。电阻表达式转换后,选项D正确。
解析:D 【详解】
本题考查的是python表达式的书写。表达式的书写要在一行中,并且乘号不能省略,并且用括号表示其计算的优先级。电阻表达式
转换后,选项D正确。
9.B 【详解】
本题主要考查Python变量的命名。变量的命名规则有:不能以数字开头,可以以字母或下划线开头,不能包含特殊字符,不能是关键词,故2a不可以作为Python合法变量名,故本题选B选项。
解析:B 【详解】
本题主要考查Python变量的命名。变量的命名规则有:不能以数字开头,可以以字母或下划线开头,不能包含特殊字符,不能是关键词,故2a不可以作为Python合法变量名,故本题选B选项。
10.A 【详解】
本题主要考查Python语句。num=45376,x=(45376//100)%10=453 % 10=3,故x的值应为3,故本题选A选项。
解析:A 【详解】
本题主要考查Python语句。num=45376,x=(45376//100)%10=453 % 10=3,故x的值应为3,故本题选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的
解析: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=5 b=3,故本题选D选项。
12.C 【详解】
本题主要考查Python语法。python用来表示代码块所属关系(控制层级结构的)的语法符号是缩进,故本题选C选项。
解析:C 【详解】
本题主要考查Python语法。python用来表示代码块所属关系(控制层级结构的)的语法符号是缩进,故本题选C选项。
13.C 【详解】
本题主要考查Python相关知识点知识点。.doc是文字处理软件(word后缀名),.vbp是VisualBasic工程文件后缀名,.exe是可执行文件后缀名,.py是Python文件
解析:C 【详解】
本题主要考查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选项。
解析: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
解析:D 【详解】
本题主要考查Python变量名命名规则。Python变量名命名规则如下:(1)Python变量名可以由字母、数字、下划线(_)组成,其中数字不能打头;(2)Python变量名不能是 Python 关键字,但可以包含关键字;(3)Python变量名不能包含空格。由上可知D选项正确。 【点睛】
二、程序填空
16.x%i==0或x//i==x/i或其他等价表达式 isprime(k+2)或isprime(k+2)==True c=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.列表 字典 键值对 3 3 【详解】
本题考查的是python语言的数据类型,列表和字典。(1)列表是写在方括号[]之间,用逗号分隔开的元素列表,students=[ '小明','小红','小刚']就是列表。(2)字典用{}标识,它是一个无序的“键(key):值(value)”对集合,字典当中的元素是通过键来存取的,而不是通过偏移存取。scores={ '小明':95,'小红':90,'小刚':90}就是一个字典类型。(3)其中“'小明':95”就构成了一个键值对。(4)len() 方法返回列表元素个数。students=[ '小明','小红','小刚'],里面有三个元素,故返回值是3。(5)print(len(scores)),其中scores={ '小明':95,'小红':90,'小刚':90}该字典有3个键值对,故输出结果是3。
18.①④ 不能 1080*1920*24*25*1/1024/1024/100≈10.8Mbps,大于网络传输带宽10Mbps,所以不能满足直播要求。 1 2或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<1 or n>7 list[n-1] 【详解】
本题主要考查Python程序调试。①输入的数字不是在范围(1至7)输出“输入错误!”,故此处if判断条件是n<1 or n>7。②列表的索引是从0开始,即列表list索引是从0~6,而n的范围是从1~7,故此处填list[n-1]。 20.for i in range(1,100): if i > 1:
for j in range(2,i): if (i % j) == 0: break else: print(i) 【详解】
本题主要考查Python程序设计。可以通过for循环找出100以内的素数,用i依次整数2~i-1,如果能整除表明i不是素数,否则i为质数,具体代码如下: for i in range(1,100): if i > 1:
for j in range(2,i): if (i % j) == 0: break else: print(i) 21.s=0
n=eval(input(\" 请输入一个数:\")) for i in range(0,n): f=1
for j in range(1,i): f=f*j s+=f
print(s%1000000) 【详解】
本题主要考查Python程序设计。可以通过嵌套for循环实现题干要求,外层循环进行求和,内层循环实现阶乘,具体代码如下: s=0
n=eval(input(\" 请输入一个数:\")) for i in range(0,n): f=1
for j in range(1,i): f=f*j s+=f
print(s%1000000)
因篇幅问题不能全部显示,请点此查看更多更全内容