一、单选题
1、阅读以下代码,程序输出结果正确的选项是?( )
def process_keywords(keywords_list):
unique_keywords = list(set(keywords_list))
sorted_keywords = sorted(unique_keywords)
result = tuple(sorted_keywords)
return result
keywords = [“节约能源”, “循环利用”, “清洁能源”, “减少污染”, “植树造林”,“清洁能源”]
print(process_keywords(keywords))
A、('节约能约', '循环利用', '减少污染', '清洁能源', '减少污染')
B、('循环利用', '植树造林', '减少污染', '清洁能源', '清洁能源')
C、('减少污染', '循环利用', '植树造林', '清洁能源', '节约能源')
D、('植树造林', '循环利用', '节约能源', '清洁能源', '节约能源')
2、给定一个集合 s = {1, 2, 3, 4, 5},以下哪个选项可以实现从s 中移除所有偶数元素的功能?( )
A、给定一个集合 s = {1, 2, 3, 4, 5},以下哪个选项可以实现从s 中移除所有偶数元素的功能?( )
B、s.filter(lambda x: x % 2 == 0)
C、{x % 2 != 0 for x in s}
D、set(filter(lambda x: x % 2 != 0, s))
3、下列代码的运行结果是?( )
tup = (1, 2, 3, 4, 5)
tup[2] = 10
print(tup)
A、(1, 2, 3, 4, 5)
B、(1, 2, 10, 4, 5)
C、(1, 10, 3, 4, 5)
D、抛出TypeError的异常
4、tuple1 = (‘aa’, ‘bb’, ‘cc’, ‘22’),则tuple1.index(‘22’)的值是?( )
A、1
B、2
C、3
D、4
5、Time模块中,time.time()所得的结果的数据类型是?( )
A、整形
B、实型
C、字符串类型
D、列表类型
6、time.time() 是 Python 中的一个内置函数,用于获取当前时间的时间戳(从 1970 年 1 月 1 日 00:00:00 到当前时间的秒数)。时间戳是一个浮点数,例如 1605012765.39698,时间戳就是一串数字,表示从某个固定时间点开始到现在的时间长度,通常以秒为单位计算。
A、分词
B、数据可视化
C、计算
D、画图
7、小张编写一款石头剪子布游戏时,导入random库并将b赋值为[“剪刀”,“石头”,“布”],不能实现随机产生b列表中一个元素的表达式是?( )
A、b[random.random()*3]
B、random.sample(b,1)
C、b[random.randint(0,2)]
D、random.choice(b)
8、若要计算圆的面积,下列表达式肯定错误的是?( )
A、s=math.pi*math.pow(r,2)
B、s=math.pi*r**2
C、s=math.pi*r*r
D、s=math.pi*r^2
9、下列程序的功能是?( )
for i in range(100,1,-2):
print(i)
A、顺序输出1-100以内的偶数
B、顺序输出1-100以内的奇数
C、倒序输出1-100以内的奇数
D、倒序输出1-100以内的偶数
10、Python使用range可以创建数值列表。下面可以正确输出600以内6的倍数的语句是?( )
A、print(list(range(100, 600, 6)))
B、print(list(range(0, 600, 10)))
C、 print(list(range(1, 601, 6)))
D、print(list(range(6, 601, 6)))
11、学校气象站记录了周一到周日的PM2.5的数据
pminfo=[82,57,91,67,103,79,99]
根据需求,输出周日、周六、周五三天PM2.5数据的程序代码是?( )
A、print(pminfo[7:5:-1])
B、print(pminfo[-1:3:-1])
C、print(pminfo[-1:5:7])
D、 print(pminfo[5:7:-1])
12、回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。下面可以正确打印三位回文数的语句是?( )
A、print(i for i in range(100,999) if str(i) == str(i)[::-1])
B、print([i for i in range(1,1000) if str(i) == str(i)[::-1]])
C、print([i for i in range(1,999) if str(i) == str(i)[::-1]])
D、print([i for i in range(100,1000) if str(i) == str(i)[::-1]])
13、下列哪个选项是正确的关于Python列表的定义?( )
A、列表是有序的、可变动的元素集合
B、列表是有序的、不可变动的元素集合
C、列表是无序的、可变动的元素集合
D、列表是无序的、不可变动的元素集合
14、假设有一个列表l= [1, 2, 3, 4, 5],下面哪个操作可以移除列表中的第一个元素?( )
A、 l. pop(1)
B、l.remove(1)
C、del l[1]
D、l.clear()
15、下面哪个选项是用于获取列表中元素个数的方法?( )
A、length()
B、 size()
C、count()
D、len()
16、下列哪个选项是正确的列表切片操作?( )
A、list[1:3]
B、list[1,3]
C、list[1-3]
D、list[1+3]
17、以下哪个选项可以创建一个列表,包含数字 1 到 10 的平方?( )
A、[x*x for x in range(1, 11)]
B、{x*x for x in range(1, 11)}
C、(x*x for x in range(1, 11))
D、<x*x for x in range(1, 11)>
18、以下哪个选项可以创建一个集合,包含 1 到 10 的奇数?( )
A、{x for x in range(1, 11)} if x % 2 != 0
B、{x for x in range(1, 11) if x % 2 != 0}
C、[x for x in range(1, 11) if x % 2 != 0]
D、[x for x in range(1, 11)] if x % 2 != 0
19、下面的集合推导式将会生成什么集合?( )
st = {x%2 for x in range(10)}
A、{0, 1}
B、{0, 2, 4, 6, 8}
C、{1, 3, 5, 7, 9}
D、{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
20、下面代码的执行结果是?( )
knights = {‘孙坚’: ‘江东猛虎’, ‘孙策’: ‘小霸王’}
for k, v in knights.items():
print(“大将:{},绰号:{}”.format(k, v))
A、大将:孙坚,绰号:江东猛虎大将:孙策,绰号:小霸王
B、大将:孙坚,大将:孙策
C、大将:孙坚,绰号:孙策
D、绰号:江东猛虎,绰号:小霸王
21、以下程序的输出结果是?( )
dict = {‘Name’: ‘Angel’, ‘Age’: 8}
print(dict.items())
A、dict_items([('Age', 8), ('Name', 'Angel')])
B、 [('Age', 8), ('Name', 'Angel')]
C、('Age', 8), ('Name', 'Angel')
D、'Age':8, 'Name': 'Angel'
22、Python表达式(“5”+“2”)*2的运算结果是?( )
A、14
B、"5252"
C、"522"
D、语法错误,程序报错
23、字符串变量s中存有小李身份证号码(s=“331004200608160037”,其中7至14位"20060816"代表出生日期)。若想提取小李身份证中的出生日期,下列Python表达式有错误的是?( )
A、s[-12:-4]
B、 s[6:14]
C、s[7:15]
D、s[6:-4]
24、下列不可以正确输出语句"我叫 小明 今年 10 岁!"的Python语句的是?( )
A、print ("我叫{name}今年{age}岁!" .format (age=10,name='小明'))
B、print ("我叫{}今年{}岁!" .format('小明', 10))
C、print ("我叫%s今年%s岁!" % (10,'小明'))
D、print ("我叫%s今年%s岁!" % (10,'小明'))
25、运行代码print(r"\nPython")的结果是?( )
A、直接输出:"\nPython"
B、直接输出:\nPython
C、直接输出:Python
D、先换行,然后在新的一行中输出:Python
二、判断题
26、集合类型中的元素必须是唯一的。( )
A 正确
B 错误
27、集合是有序的数据结构,可以根据元素的插入顺序进行遍历。( )
A 正确
B 错误
28、元组是Python的不可变序列类型,意味着一旦你创建了一个元组,就不能进行插入、删除等操作。( )
A 正确
B 错误
29、time库是Python中处理时间的标准库, time库中时间获取函数time()和ctime(),返回的都是字符串。( )
A 正确
B 错误
30、有如下Python程序段:s=0for i in range(1,11): if i%5==3: continue s+=i执行程序后,输出s的值是52。( )
A 正确
B 错误
31、Python中的列表是可变的数据类型。( )
A 正确
B 错误
32、[x for x in range(5)] 是一个列表推导式。( )
A 正确
B 错误
33、可以通过update()方法将一个字典的内容添加到另一个字典中。( )
A 正确
B 错误
34、有字符串s=“happy national day”,s.find('na')返回值为-1。( )
A 正确
B 错误
35、小明想单独输出一个双引号,可以使用语句print("\"")进行输出。( )
A 正确
B 错误
三、编程题
36、
参考程序: 已知有一些学生数据,每名学生的信息是一个字典。所有学生信息放在列表中。 (1)计算每个学生的平均分(语文+数学+英语)/3,并对平均分取整,追加到其字典; (2)根据学生的平均分从低到高排列; (3)输出每位学生的学号和平均分。 输出格式如下: 20230103:72 20230102:82 20230101:92 程序模板如下: students= [{‘学号’:‘20230101’,‘语文’: 90,‘数学’:95,‘英语’:92},{‘学号’:‘20230102’,‘语文’: 80,‘数学’:85,‘英语’:82},{‘学号’:‘20230103’,‘语文’: 70,‘数学’:75,‘英语’:72}] for student in students: ++①++ students.sort(key = lambda x:x[‘平均分’],reverse = False) for student in students: print(‘{}:{}’.format(++②++ ,++③++ )) | |
参考答案:
students= [{‘学号’:‘20230101’,‘语文’: 90,‘数学’:95,‘英语’:92},
{‘学号’:‘20230102’,‘语文’: 80,‘数学’:85,‘英语’:82},
{‘学号’:‘20230103’,‘语文’: 70,‘数学’:75,‘英语’:72}]
for student in students:
student[‘平均分’]=(student[‘语文’]+student[‘数学’]+student[‘英语’])//3
students.sort(key = lambda x:x[‘平均分’],reverse = False)
for student in students:
print(‘{}:{}’.format(student[‘学号’],student[‘平均分’]))
37、信息科技社团正在进行一种字符串扩展的实验,实验操作方法如下:
(1)给定一个初始字符串s,筛选出其中的大小写字母,生成新的字符串x;
(2)将字符串x最后一个字符删除,生成一个新的字符串y;
(3)将字符串x的右边最后一个字符拼接到字符串x的末尾;
(4)将字符串y拼接到字符串x的末尾。
按照(2)-(4)步骤重复操作,每一步将当前字符串的长度加倍,直到字符串x长度达到n。
给定初始字符串和n,请帮助社团同学们计算扩展的字符串中第n个位置的字符。
以s=“c1ar23”,n=8 为例
c1ar23 –> car –> carrca –> carrcaacarrc
第8个位置上的字符’c’,则输出为c
输入格式:
第一行,一个字符串s(长度不超过20)
第二行,一个整数n(1<=n<=100)
输入样例:
c1ar23
8
输出格式:
一个字符,表示扩展的字符串中的第n个字符。
输出样例:
c
s=input()
n=int(input())
x=""
for i in s:
if ((i>=‘A’ and i<=‘Z’) ① ):
x=x+i
xn=len(x)
while xn<n:
y=x.replace( ② , '')
x=x+x[-1]
x=x+y
xn= ③
print( ④ )
参考答案:
参考程序:
s=input()
n=int(input())
x=""
for i in s:
if ((i>=‘A’ and i<=‘Z’)or(i>=‘a’ and i<=‘z’)):
x=x+i
xn=len(x)
while xn<n:
y=x.replace(x[-1], '')
x=x+x[-1]
x=x+y
xn=len(x)
print(x[n-1])
38、编写Python程序,要求输出区间[m,n]内所有素数的和,实现上述功能的 Python 程序如下,请在划线处填入合适的代码。
def isPrime(num): #判断素数
num=int(num)
for i in range(2,num):
if ① :
return False
if num!=1:
return True
def PrimeSum(a,b):
sum=0
for i in range(a,b+1):
if isPrime(i):
②
return sum
m=int(input(“m:”))
n=int(input(“n:”))
print( ③ )
参考答案:
参考程序:
def isPrime(num):
num=int(num)
for i in range(2,num):
if num%i==0:
return False
if num!=1:
return True
def PrimeSum(a,b):
sum=0
for i in range(a,b+1):
if isPrime(i):
sum+=i
return sum
m=int(input(“m:”))
n=int(input(“n:”))
print(PrimeSum(m,n))
①函数isPrime(num)用于判断num是否为素数,返回True表示num是素数,返回False表示num不是素数,不是素数说明num能被1和自身之外的其他数整除,应填入的代码为num%i==0;
②满足函数isPrime(i)时所执行累加到sum中的操作,应填入的代码为sum+=i。
③此处为自定义函数的调用,调用PrimeSum函数计算素数和。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!