一、单选题
1、以下代码的输出结果是?( )
nums = list(range(100, 201))
print(nums[::10])
A、 [100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200]
B、
[100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 200]
C、
[100, 111, 122, 133, 144, 155, 166, 177, 188, 199]
D、
[199, 188, 177, 166, 155, 144, 133, 122, 111, 100]
2、以下代码的输出结果是?( )
def count_odd_numbers(n): return len([num for num in range(n) if num % 2 != 0]) print(count_odd_numbers(20))
A、5
B、8
C、10
D、15
3、以下Python代码的输出结果是?( )
for i in range(5): print(' '*(5-i) + '*'*(2*i+1))
A、
错误,代码无法运行
B、打印出一个梯形状的星星
C、
打印出一个倒立的三角形
D、 打印出一个正立的三角形
4、运行以下Python代码的结果是?( )
nums = range(1, 11) sliced_nums = nums[2:8] result = sum(sliced_nums) * 3 print(result)
A、90
B、99
C、81
D、72
5、集合a={1,2,3,4,5,6},b={1,3,5,7,9},则a&b的结果是?( )
A、 {1, 3, 5}
B、
{2, 4, 6}
C、
{1,2,3,4,5,6,1,3,5,7,9}
D、
[1, 3, 5]
6、下列程序的运行结果?( )
a={6,5,4,3,2,1} a.remove(1) print(a)
A、 {6,5,4,3,2}
B、
{1,2,3,4,5}
C、
(6,5,4,3,2)
D、
[2,3,4,5,6]
7、智慧种植社团想要确定农植园西红柿元组的最大值,可以使用下列方法?( )
A、
list()
B、 max()
C、
min()
D、
sum()
8、统计黑色"black"在当前pen元组中出现的次数
pen=('blue','black','red','black','blue','black')
print(pen.count('black'))
输出的结果是?( )
A、1
B、3
C、5
D、6
9、科学课上,王老师做了一个实验,一张纸对折1次厚度是原来的2倍,对折2次厚度是原来的4倍,对折3次厚度是原来的8倍,…依此类推,对折n次后,厚度是原来的多少倍?( )
A、
ans=math.pow(10,n)
B、
ans=math.comb(n,2)
C、
ans=math.factorial(n)
D、 ans=math.pow(2,n)
10、有关中文分词jieba库的描述,错误的是?( )
A、
jieba.add_word(w)向分词词典中增加新词w
B、 jieba.lcut(s)返回的可能是一个字符串类型
C、
jieba.cut(s)返回的可能是一个可迭代的数据类型
D、
jieba库的分词原理是利用中文词库,将待处理的内容与词库比对后找到最大概率的词组
11、石头剪刀布游戏,规则如下:石头胜剪刀,剪刀胜布,布胜石头。编写 Python 程序模拟石头剪刀布游戏,并判定游戏的输赢,代码中数字 0 代表石头,数字 1 代表剪刀,数字 2 代表布。模拟玩家A出拳的python程序代码是?( )
A、
random.uniform(0,3)
B、 random.randint(0,2)
C、
random.sample(2,1)
D、
random.seed()
12、Python中wordcloud库把词云当作一个WordCloud对象。
向阳小学阅读社团计划编写一个读书笔记的词云,根据笔记的数量,计划使用以下哪个指令自定义设置词云的图片尺寸参数?()
A、
wordcloud.WordCloud(font_step=5)
B、 wordcloud.WordCloud(width=1600,height=800)
C、
wordcloud.WordCloud(max_words=20)
D、
wordcloud.WordCloud(min_font_size=10)
13、以下哪个选项可以添加一个键值对到字典中?( )
A、
my_dict.add(key, value)
B、 my_dict[key] = value
C、
my_dict.append(key, value)
D、
my_dict.insert(key, value)
14、以下哪个选项可以删除字典中指定的键值对?( )
A、
my_dict.remove(key)
B、 del my_dict[key]
C、
my_dict.clear(key)
D、
my_dict.delete(key)
15、执行下列Python代码的结果是?( )
>>> a = "3.1415926" >>> b = 6 >>> c = "<" >>> print("{0:{2}.{1}}".format(a,b,c))
A、
3.1415926
B、
003.14
C、 3.1415
D、
003.141
16、字符串变量str = 'Wfall0343',执行语句print(str.find('3')),输出的结果是?( )
A、6
B、8
C、3
D、7
17、print('\x68')的结果是?( )
A、
\x68
B、68
C、x68
D、h
18、设str1 = '*@python@*', 语句print(str1[1:].strip('@'))的执行结果是?( )
A、 python@*
B、
python*
C、
*@python@*
D、
* python*
19、某Python程序段如下:
s=["seasons","spring","summer","fall","winter"] print(s[1][2:6])
程序运行后,输出的结果是?( )
A、 ring
B、
pring
C、
eason
D、
easo
20、某Python程序段如下:
lis=[11,22,33,44,55] lis[2],lis[3]=lis[3],lis[2] print(lis)
程序运行后,输出的结果是?( )
A、
[11,22,33,44,55]
B、
[11,22,22,33,55]
C、 [11,22,44,33,55]
D、
[11,33,33,44,55]
21、已知列表Lista=[1,2,3,4],执行语句Lista=[2]+Lista后,列表Lista中的元素为?( )
A、
[3,4,5,6]
B、
[1,2,3,4,2]
C、
[1,2,2,3,4]
D、 [2,1,2,3,4]
22、已知list1=list("php"),执行语句list1[2:]=list("Python")后,列表list1中的内容为?( )
A、
['p','h','p','P','y','t','h','o','n']
B、
['p','P','y','t','h','o','n']
C、 ['p','h','P','y','t','h','o','n']
D、
['P','y','t','h','o','n']
23、某Python程序段如下:
import random a=[random.randint(1,5)*2 for i in range(5)] print(a)
程序运行后,输出结果不可能是?( )
A、
[4,4,8,10,8]
B、
[8,8,2,4,2]
C、 [2,5,6,8,4]
D、
[2,4,6,8,10]
24、某Python程序段如下:
l= ["python" +i+"级" for i in "一二三四五六"] print(l[4])
程序运行后,输出结果是?( )
A、
python二级
B、
python三级
C、
python四级
D、 python五级
25、闰年是公历中的名词,分为普通闰年和世纪闰年。普通闰年是4年一次,若公历年份是4的倍数且不是100的倍数则为普通闰年(如2004年、2020年就是普通闰年),现在想输出1949年到今年(2024年)之间的所有普通闰年,正确的列表推导式是?( )
A、 print([i for i in range(1949,2025)if i %4==0 and i%100!=0])
B、
print([i for i in range(1949,2025)if i %4!=0 and i%100!=0])
C、
print([for i in range(1949,2025)if i %4==0 and i%100=0])
D、
print([for i in range(1949,2025)if i %4!=0 and i%100=0])
二、判断题
26、以下代码的输出结果是 48。( )
nums = range(1, 9)
result = sum([num for num in nums if num % 3 != 0]) * 2 - 6
A 正确
B 错误
27、在Python中,可以仅仅使用一对空的花括号{}来创建集合。( )
A 正确
B 错误
28、无法通过引用索引来访问集合中的元素,但是可以用for循环来遍历集合中的元素。( )
A 正确
B 错误
29、科技社团将个人信息定义为元组,使用小括号,数据可以是不同的数据类型,各个数据之间用逗号隔开。( )
A 正确
B 错误
30、Jieba是优秀的中文分词第三方库,jieba.cut(s)精确模式,可以把文本精确的切分开,不存在冗余单词。( )
A 正确
B 错误
31、字典中的键必须是唯一的,但值可以重复。( )
A 正确
B 错误
32、print('It's a wonderful day!')的结果是It's a wonderful day!。( )
A 正确
B 错误
33、str="This is a disposable cup"
sub="is"
print(str.rfind(sub))的结果为5。( )
A 正确
B 错误
34、有列表a=[1,2,3],b=a*3,执行语句print(len(b))输出结果是9。( )
A 正确
B 错误
35、小明想在变量a中存储26个小写字母,但他不想手动输入,可以使用列表推导式[chr(i+97)for i in range(26)]实现。( )
A 正确
B 错误
三、简答题
36、火柴棍游戏
用火柴棍拼成数字0~9,具体拼法如图所示:
编写Python程序,实现输入火柴棍的数量,输出符合该火柴棍数的三位数组合,若找不到,则输出“没有符合要求的数”,见样例,程序如下:
请在划线处填入合适代码。
code={0:6,1:2,2:5,3:5,4:4,5:5,6:6,7:3,8:7,9:6} num=int(input("请输入火柴棍数量:")) flag=False for i in range( ① ): if ② +code[i//10%10]+ ③ ==num: print("可以组成的三位数:",i,sep="") flag=True if ④ : print("可以组成的三位数:","没有符合要求的数",sep="")
参考答案:
①range(10):生成一个包含数字0到9的序列,因为我们要遍历所有可能的三位数组合。
②code[i%10]:取当前数字对应的火柴棍数量。由于我们是在遍历数字,所以用i%10来取当前数字对应的火柴棍数量。
③code[i//10]:取当前数字百位上的数字对应的火柴棍数量。由于i是从0到9遍历的,所以i//10可以取到百位上的数字,然后利用code字典找到对应的火柴棍数量。
④not flag:如果flag仍为False,则说明没有找到符合要求的数字组合。
37、得分处理
智龙是一名篮球队的教练,为了方便对球员进行精准分析,他需要记录球队每个队员的得分,并按照得分从高到低进行排序。请你帮助他完成以下任务:
(1)创建一个空的列表 scores,用于存储队员的得分;
(2)使用循环,依次输入每个队员的得分,将得分添加到 scores 列表中;当输入“stop”时停止输入。
(3)使用 sorted() 函数对 scores 列表进行排序,得到一个新的列表 sorted_scores,按照得分从高到低排序;
(4)打印出排序后的队员得分。
程序代码如下,请你补全Python代码。
scores= ① while True: score = ② ("请输入队员的得分(输入stop字符串结束):") if score == "stop": ③ scores.append(int(score)) sorted_scores = ④ print("排序后的队员得分:", sorted_scores)
参考答案:
① [] (空列表)
② input
③ break
④ sorted_scores = sorted(scores, reverse=True)
38、知识竞赛活动
学校开展“学宪法"知识竞赛活动,其中有一项任务为完成“学宪法”答卷记得分。答卷含有5个客观题和5个主观题,其中客观题1-4题为单选题,第5题为多选题,单选题每题分值为2分;多选题全对得2分,漏选、少选得1分,多选错选不得分。为了提高改卷效率,学校信息技术组的老师设计并编写了一个Python小程序,输入客观题正确答案和答卷上的答案,即可计算得分。实现上述功能的Python程序如下,运行界面如图所示。
请输入客观题(5道)标准答案:AABDACD
请输入客观题(5道)题学生答案:ABBDAC
该学生客观题得分为:7分
实现上述功能的 Python 程序如下,请在划线处填入合适的代码。
def judge(x,y): f=True i=0 while i<len(y): if y[i] not in x: ① break i+=1 return f num=0 key=input("请输入客观题(5道)标准答案:") s=input("请输入客观题(5道)题学生答案:") for j in range(5): if j==4: if key[j:len(key)]==s[j:len(s)]: num+=2 elif ② : num+=1 else: if s[j]==key[j]: ③ print("该学生客观题得分为:"+ ④ +"分")
参考答案:
① f = False
② judge(key[j], s[j]) == True 或 judge(key[j], s[j]) 或 key[j] in s
③ num += 2 或 num += score_single_question(假设客观题每题分值为score_single_question)
④ str(num) 或 str(num)+“分”(假设num为整数)或 f"{num}分"(假设Python版本支持f-string格式化)
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!