Python2级试卷
约 18393 字大约 61 分钟
2025-03-21
试卷2209
2209单选题
单选题1
这道题考察的是 Python 中列表(List)和 len()
函数的基本使用:
- 代码内容:
means=['Thank','You']
print(len(means))
- 考点分析:
- 列表的创建和基本语法
len()
函数的使用 - 用于获取序列(如列表、字符串等)的长度- Python 中字符串作为列表元素的使用
- 具体分析:
means
是一个包含两个字符串元素的列表:'Thank'
和'You'
len(means)
会返回列表means
中元素的个数- 因此输出结果为
2
- 答案解释:
- 选项 C(2)是正确答案
- 因为列表
means
只包含两个元素:'Thank'
和'You'
len()
函数返回的是列表中元素的数量,而不是字符串的总长度 这是一道基础的 Python 列表操作题目,主要测试考生是否理解列表的基本概念和len()
函数的使用方法。
2209判断题
2209编程题
行李尺寸检查
while True:
# 获取输入并分割
dimensions = input("请输入行李的长、宽、高(用逗号分隔): ").split(',')
l, w, h = map(int, dimensions)
# 判断是否满足条件
if (60 <= l <= 203) and (60 <= w <= 203) and (60 <= h <= 203):
print("可以托运")
else:
print("不可以托运")
编写程序统计文本中的话
# 获取用户输入的文本
text = input("请输入一段文字:")
# 初始化计数器
count = 0
# 遍历文本中的每个字符
for char in text:
# 判断是否是句子结束符号
if char in '.?!':
count += 1
# 输出统计结果
print(f"这段话中共有{count}句话")
试卷2212
2212单选题
单选题1
- 运行下列程序,最终输出的结果是?( )
info = {1:'小明', 2:'小黄', 3:'小兰'}
info[4] = '小红'
info[2] = '小白'
print(info)
- A.
{1: '小明', 2: '小白', 3: '小红', 4: '小兰'}
- B.
{1: '小明', 2: '小白', 3: '小兰', 4: '小红'}
- C.
{1: '小白', 2: '小名', 3: '小兰', 4: '小红'}
- D.
{1: '小明', 2: '小红', 3: '小兰', 4: '小白'}
单选题2
{1: '小明', 2: '小红', 3: '小兰', 4: '小白'}
s=0
k=1
for i in range(1,101):
s=s+k*i
k=-k
print(s)
- A. s=1+2+3+5+6...+100的值
- B. s=1-2+3-4+5-6+...-100的值
- C. s=1+2+3+4+5+6...+101的值
- D. s=1-2+3-4-5-6-...-101的值
单选题3
有以下三个词组的列表,
game_name=['一只蜗牛','一只猫','一只兔子','孩子们','运动员们','一朵云']
game_where=['在伞底下','在沙滩上','在沙发上','在石头上','在天空中','在公园里']
game_what=['搭了个窝','在慢慢爬','玩滑梯','打排球','正在睡觉','遮住太阳']
如果造句的输出结果是“一只兔子在公园里搭了个窝”,代码正确的是?( )(2分)
- A.
print(game_name[-4]+game_where[-1]+game_what[0])
- B.
print(game_name[2]+game_where[6]+game_what[0])
- C.
print(game_name[2]+game_where[6]+game_what[0])
- D.
print(game_name[-4]+game_where[5]+game_what[1])
单选题4
执行下面代码,输出的结果是?( )
for leibie in 'student':
if leibie=='u':
break
print(leibie)
(2分)
- A.
st
- B.
stu
- C.
s
t
s
- D.
t
u
单选题5
score={'跳绳':85,'跳远':99,'跑步':92}
。下列哪个代码可以将跳绳的85修改成95?( )(2分)
- A.
score[跳绳]=95
- B.
score['跳绳']=95
- C.
score[0]=95
- D.
score['0']=95
单选题6
已知列表a=[2,4,6]
,执行语句print(2*a)
,显示的结果是?( )(2分)
- A.
[[2, 4, 6],[2, 4, 6]]
- B.
[2, 4, 6, 2, 4, 6]
- C.
[4, 16, 36]
- D.
[4, 8, 12]
单选题7
下列程序执行后,打印的结果是?( )(2分)
a=[3,9,5]
b=a
b[0]=7
print(b)
- A.
[3,9,5]
- B.
[7,3,9,5]
- C.
[3,9,5,7]
- D.
[7,9,5]
单选题8
toy=['魔方','拼图']
toy.append('积木')
print(toy)
以上代码的运行结果是?( )(2分)
- A.
['魔方','拼图',['积木']]
- B.
['魔方','拼图','积木']
- C.
['积木','魔方','拼图']
- D.
'魔方','拼图','积木'
单选题9
a=1
for i in range(4):
if i==3:
break
a+=1
else:
a+=2
print(a)
以上代码的运行结果是?( )(2分)
- A. 4
- B. 5
- C. 6
- D. 7
好的,我已经查看了图片。图片内容是一个关于 Python 字典删除操作的选择题。
这是图片内容的 Markdown 格式:
单选题10
想要删除gift字典中的键值对 '糖果': 10, 可以使用的代码是?( )(2分)
- A.
gift.pop('糖果':10)
- B.
gift.pop('糖果')
- C.
gift.remove('糖果':10)
- D.
gift.remove('糖果')
单选题11
在空格处填入以下哪个语句,不能得到从大到小的排序结果是?( )(2分)
list1 =[1,5,9,67,4,44,99]
for i in range(2):
a = int(input())
list1.append(a)
_________________ # 空格处
for i in list1:
print(i,end = " ")
- A.
list1.sort()
- B.
list1 = sorted(list1,reverse=True)
- C.
list1 = sorted(list1,reverse=True)
- D.
list1 = sorted(list1,reverse=True)
单选题12
下列关于列表变量ls操作的描述中,错误的是?( )(2分)
- A.
min(ls)
:找出ls中最小元素 - B.
ls.remove(x)
:删除ls中所有x元素 - C.
ls.index(x)
:返回元素x在列表中的下标 - D.
ls.index(x)
:返回元素x在列表中的下标
单选题13
下面代码的输出结果是?( )(2分)
name = "Python语言程序设计"
for i in range(5):
print(name[i],end='')
- A. Python
- B. Pytho
- C. ython
- D. Python语言程序
单选题14
下列程序的运行结果是?( )
str1="cat dog cat dog cat dog"
str2=str1.replace("cat","mouse",2)
print(str2)
(2分)
- A.
cat dog mouse dog cat dog
- B.
2 dog mouse dog cat dog
- C.
mouse mouse dog mouse dog cat dog
- D.
mouse dog mouse dog cat dog
单选题15
下列程序的运行结果是?( )
tem=(4,7,4,6,9)
tem=tem+(4,)
print(tem.count(4))
(2分)
- A. 2
- B. 0
- C. 程序报错
- D. 3
单选题16
下列说法正确的是?( )(2分)
- A. if语句通常用于重复执行某一段程序
- B. while语句通常用于执行条件判断
- C. 在Python中可以使用do..while循环
- D. break语句可以跳出for和while的循环体
单选题17
已知有字符串str2="Good Morning!", 则执行print(len(str2[1:-2]))输出的结果是?( )(2分)
- A. 8
- B. 9
- C. 10
- D. 11
单选题18
运行下列程序段后,输出的结果是?( )
i=1
while i<=5:
i=i+2
print(i)
(2分)
- A. 3
- B. 7
- C. 5
- D. 6
单选题19
运行语句print("ab"<"ac")
后,输出的结果是?( )(2分)
- A. 0
- B. 1
- C. True
- D. False
单选题20
若a=[1,2], b=[3,4], 则执行a=a+b语句后, a的值是?( )(2分)
- A.
[1,2]
- B.
[4,6]
- C.
[1,2,3,4]
- D.
[3,4]
单选题21
小明用列表s存储小组同学的身高, s=[136.0,135.0,142.0,140.0]
, 则max(s)的值是?( )(2分)
- A. 136.0
- B. 135.0
- C. 142.0
- D. 140.0
单选题22
已知list8列表有8个元素, 执行print(list8[1:-2])输出的结果是一个列表, 则输出的列表有几个元素?(2分)
- A. 4
- B. 5
- C. 6
- D. 7
单选题23
下面的d是一个字典变量,能够输出数字9的语句是?( )(2分) d = {'奥运奖牌':{'金牌':5,'银牌':4},'金牌':9,'银牌':4}
- A.
print(d['奥运奖牌']['金牌'])
- B.
print(d['金牌'])
- C.
print(d['奥运奖牌'][-1])
- D.
print(d['金牌'][1])
单选题24
设有元组tup=(5,2,8,1,89,43,7,22)
,执行下列语句,结果是?( )
tup1=sorted(tup)
print(tup1)
(2分)
- A.
[89, 43, 22, 8, 7, 5, 2, 1]
- B.
(89, 43, 22, 8, 7, 5, 2, 1)
- C.
[1, 2, 5, 7, 8, 22, 43, 89]
- D.
(1, 2, 5, 7, 8, 22, 43, 89)
单选题25
下列代码输出的结果是?( )
tup=('python',2022,'神州十三号')
print(type(tup))
(2分)
- A.
<class 'dict'>
- B.
<class 'set'>
- C.
<class 'list'>
- D.
<class 'tuple'>
2212判断题
判断题1
字典的元素可以通过键来访问,也可以通过索引(下标)来访问。( )(2分)
- 正确
- 错误
判断题2
Python中,可以通过索引来访问列表、字符串等序列,也可以通过索引对列表中的元素和字符串中的字符进行修改。例如:a='python'
, a[0]='P'
, 字符串a将被修改为“Python”
。( )(2分)
- 正确
- 错误
判断题3
break用来跳出最内层for或者while循环,脱离该循环后程序继续执行后续代码。( )(2分)
- 正确
- 错误
判断题4
单分支结构是用if语句判断满足一个条件,就执行相应的处理代码。( )(2分)
- 正确
- 错误
判断题5
tem1=(1), 用type(tem1)检查其类型应该为tuple。( )(2分)
- 正确
- 错误
判断题6
在语句for i in range(5):
中,当进入第5次循环时,i的值为5。( )(2分)
- 正确
- 错误
判断题7
clear()方法可以移除列表中第一次出现的该元素。( )(2分)
- 正确
- 错误
判断题8
运行如下代码,结果为:“cba321”
。( )(2分)
words = "123abc"
slice1=words[-1::-1]
print(slice1)
- 正确
- 错误
判断题9
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组。( )(2分)
- 正确
- 错误
判断题10
else保留字除了可以和if语句一起搭配使用构成if...else..., 也可以和while或for循环搭配使用,构成while...else或for...else。( )(2分)
- 正确
- 错误
2212编程题
1. 编写一个重复执行的程序 (15分)
- 要求用户输入一个字符串。如果输入的字符串的长度是奇数,就输出字符串最中间的字符。如果字符串的长度是偶数,就输出字符串的最后一个字符。然后重复以上操作。
# 编写一个重复执行的程序 (15分)
# 要求用户输入一个字符串。
# 如果输入的字符串的长度是奇数,就输出字符串最中间的字符。
# 如果字符串的长度是偶数,就输出字符串的最后一个字符。
# 然后重复以上操作。
while True:
try:
# 获取用户输入
user_input = input("请输入一个字符串 (或直接按 Enter 结束): ")
# 如果用户直接按 Enter,则结束循环
if not user_input:
print("程序结束。")
break
# 获取字符串长度
length = len(user_input)
# 判断长度是奇数还是偶数
if length % 2 != 0:
# 长度为奇数,输出中间字符
middle_index = length // 2
print(f"中间字符是: {user_input[middle_index]}")
else:
# 长度为偶数,输出最后一个字符
print(f"最后一个字符是: {user_input[-1]}")
except EOFError:
# 处理可能的输入结束情况 (例如在某些环境中使用 Ctrl+D)
print("\n程序结束。")
break
except Exception as e:
# 处理其他可能的错误
print(f"发生错误: {e}")
break
# 获取用户输入
user_input = input("请输入一个字符串 (或直接按 Enter 结束): ")
# 如果用户直接按 Enter,则结束循环
if not user_input:
print("程序结束。")
break
# 获取字符串长度
length = len(user_input)
# 判断长度是奇数还是偶数
if length % 2 != 0:
# 长度为奇数,输出中间字符
middle_index = length // 2
print(f"中间字符是: {user_input[middle_index]}")
else:
# 长度为偶数,输出最后一个字符
print(f"最后一个字符是: {user_input[-1]}")
2. 输入字符串 (15分)
- 从键盘输入任意字符串,按照下面要求分离字符串中的字符:
- 分别取出该字符串的第偶数位的元素(提醒注意:是按照从左往右数的方式确定字符串的位置);
- 并依次存储到一个列表中;
- 输出这个列表。
# 获取用户输入
input_string = input("请输入一个字符串: ")
# 方法一:使用循环和索引判断
# even_position_chars = []
# for i in range(len(input_string)):
# # 索引从0开始,所以第偶数位对应的是奇数索引 (1, 3, 5, ...)
# if (i + 1) % 2 == 0: # 或者直接判断索引 i 是否为奇数: if i % 2 != 0:
# even_position_chars.append(input_string[i])
# 方法二:使用切片 (更简洁)
# 切片 [1::2] 表示从索引 1 开始,取到末尾,步长为 2
# 这正好取出了索引为 1, 3, 5, ... 的字符,即第 2, 4, 6, ... 位的字符
even_position_chars_str = input_string[1::2]
# 将切片得到的字符串转换为列表
even_position_chars_list = list(even_position_chars_str)
# 输出结果列表
print(even_position_chars_list)
试卷2303
2303单选题
单选题1
下列说法正确的是?( )(2分)
- A.
{123:'a','a':123}
不是一个合法的字典 - B. 数字、字符串、列表和元组都可以作为字典的键
- C.
{(12,34,'a'):'a','a':5678}
是一个合法的字典 - D. 字典中的内容一经创建就不能再修改
单选题2
下列程序的运行结果是?( )(2分)
d1 = dict(age=18)
print(d1)
- A.
(age=18)
- B.
[age=18]
- C.
age=18
- D.
{'age': 18}
单选题3
datas={'Name':'XiaoMing','No':'1001','Age':'14','School':'ShiYan XueXiao'}
,表达式len(datas)
的值是?( )(2分)
- A. 8
- B. 6
- C. 4
- D. 2
单选题4
下列哪个是一个合法的列表?( )(2分)
- A.
(191,98,1,0)
- B.
"1919,810"
- C.
[19,19,8,10]
- D.
{19,'19',8,10}
单选题5
运行下列程序,输出的结果是?( )(2分)
list4=['1',3,'5',7,2,3]
list4.append('7')
print(len(list4))
- A. 4
- B. 5
- C. 6
- D. 7
单选题6
已知list7列表list7=[-3,6,3,7,5,-4,10],执行sort()方法对该列表进行排序之后,list7列表的第二个元素是?( )(2分)
- A. -2
- B. -3
- C. 2
- D. 5
单选题7
已知列表list9=[11,4,514,191,9,81,0]
,下列说法错误的是( )(2分)
- A.
print(min(list9))
可以输出列表的最小值,输出结果为0 - B.
print(max(list9))
可以输出列表的最大值,输出结果为514 - C.
print(list9.index(191))
可以输出数值191第一个匹配项的索引位置,输出结果为3 - D.
list9.remove(0)
可以移除列表中的最后一个元素
单选题8
下列说法正确的是?( )(2分)
- A. '0123456'是一个长度为6的字符串
- B. 在Python中,可以用乘号'*'把两个字符串连接起来
- C. 'What's this?'是一个合法的字符串
- D. '*'是一个合法的字符串
单选题9
下列说法错误的是?( )(2分)
- A. while语句通常用于重复执行某一段程序
- B. break语句可以跳出for和while的循环体
- C. 在Python中可以使用do..while循环
- D. if语句通常用于执行条件判断
单选题10
运行下列程序,共计输出了几个banana?( )(2分)
for i in range(3,9,3):
print("banana")
- A. 1
- B. 2
- C. 3
- D. 4
单选题11
运行下列程序,输出的结果是?( )
x=0
y=0
a=2023
for i in range(a):
if ((i%2)==0):
x=x-1
else:
y=y+1
print(x+y)
- A. -1
- B. 1
- C. 0
- D. 2023
单选题12
已知ls=[20,30,50,10,90]
,以下选项中,不能删除元素90的是?( )(2分)
- A.
ls.pop(-1)
- B.
del ls[-1]
- C.
ls.remove(ls[-1])
- D.
ls.remove(-1)
单选题13
下列代码的输出结果是?( )
ls=[2023,'Happy',['Good','Luck']]
print(ls[2][1])
- A. Happy
- B. Good
- C. Luck
- D. o
单选题14
下列程序的输出结果是?(注意:0后面是两个单引号'',并非双引号) ()
ls=[0,'',{},None,(),[], 'empty']
print(len(ls))
- A. 2
- B. 3
- C. 6
- D. 7
单选题15
ls = ['富强','民主','文明','和谐','自由','平等','公正','法治']
,下列切片结果为'和谐','平等'的选项是?( )(2分)
- A.
ls[-5:-2:2]
- B.
ls[-5:-2:2]
- C.
ls[4:-3:1]
- D.
s[4:-2:2]
单选题16
下列代码的执行结果是?( )
mylist=['Failure','is','the','mother','of','success']
for x in mylist[:]:
if len(x)<=3:
mylist.append(x)
print(mylist)
- A.
['Failure','is','the','mother','of','success']
- B.
['Failure','is','the','mother','of','success','of','is']
- C.
['Failure','is','the','mother','of','success','is','the','of']
- D.
['Failure','is','the','mother','of','success','is','the','of']
单选题17
创建元组错误的是?( )(2分)
- A.
tp=('a',)
- B.
tp=("",[],20)
- C.
tp=(25)
- D.
tp=1,2,3
单选题18
列表和元组都是序列对象,列表和元组的区别是?( )(2分)
- A. 元组的元素只能是不变数据类型,例如:整型、浮点型、字符串、元组
- B. 元组一旦创建不可以修改
- C. 列表可以切片,元组不能切片
- D. 元组之间的元素不能用逗号进行分隔
单选题19
请问下列四个表达式中,哪个表达式的值与其他三个表达式的值不同?( )(2分)
- A.
'字符串'+'运算'
- B.
".join(['字符串','运算'])"
- C.
字符串运算*1
- D.
'字符串'-'运算'
单选题20
Python解释器中执行如下代码: '{2},{0},{1}'.format('You','need','Python')
结果是?( )(2分)
- A.
'Python, need, You'
- B.
'Python,You,need'
- C.
'need,You,Python'
- D.
'need,Python,You'
单选题21
下列代码执行的结果是?( )(2分)
dic={'聊天机器人':'GhatGPT','搜索引擎':'百度','浏览器':'Google'}
for x in dic:
print(x,end=' ')
- A.
GhatGPT 百度 Google
- B.
聊天机器人 搜索引擎 浏览器
- C.
['GhatGPT','百度','Google']
- D.
[('聊天机器人','GhatGPT'),('搜索引擎','百度'),('浏览器','Google')]
单选题22
不能输出0~10之间所有奇数的程序是?( )(2分)
- A.
a = 0
while a<10:
if a%2 == 0:
a = a + 1
continue
print(a,end=' ')
a = a + 1
- B.
for a in range(0,11):
if a%2 != 1:
continue
print(a,end=' ')
- C.
for a in range(0,11):
if a%2 == 0:
continue
print(a,end=' ')
- D.
a = 0
while a<10:
if a%2 == 1:
break
a = a + 1
print(a)
单选题23
a=int(input())
if a<10:
res=a+2
elif a<50:
res=a-2
elif a<80:
res=a*2
else:
res=a//2
print(res)
程序运行时,输入60,程序执行的结果是?( )(2分)
- A.
62
- B.
58
- C.
120
- D.
30
单选题24
n,t=10,0
while n!=0:
n=n-1
t=t+n
以上代码运行后的值是?( )(2分)
- A.
36
- B.
45
- C.
50
- D.
55
单选题25
已知元组tup2=(114,5,14,191,9810),下列说法错误的是?( )(2分)
- A.
print(tup2[1:-2])
可以截取元组的一部分,输出的结果为(5,14)
- B.
print(tup2[2:])
可以截取元组的一部分,输出的结果为(5,14,191,9810)
- C.
print(tup2[2:3])
可以截取元组的一部分,输出的结果为(14,)
- D.
print(tup2[3])
可以访问元组的第四个元素,输出的结果为191
2303判断题
判断题1
pop()
方法可以清空列表。( )(2分)
- 正确
- 错误
判断题2
元组要用方括号[ ]括起来。( )(2分)
- 正确
- 错误
判断题3
(152,4.06,'20&'+'*3','4 (.557!')
是一个合法的元组。( )(2分)
- 正确
- 错误
判断题4
执行print("he" in "hello world\")
的输出结果为True
。( )(2分)
- 正确
- 错误
判断题5
if语句的条件后面要使用花括号{}表示接下来是满足条件要执行的语句块。( )(2分)
- 正确
- 错误
判断题6
break语句不能在循环体之外使用。( )(2分)
- 正确
- 错误
判断题7
字符串和元组是不可变对象,列表和字典是可变对象。( )(2分)
- 正确
- 错误
判断题8
下列程序段中循环一共执行了6次。( )(2分)
for i in range(10,-1,-2):
print(i)
- 正确
- 错误
判断题9
if语句的表达式为空字符串、空列表、空元组、空字典和数字0都等价于False。( )(2分)
- 正确
- 错误
判断题10
字典值可以是任何的 Python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。( )(2分)
- 正确
- 错误
2303编程题
1. 检查包裹是否合格(15分)
某快递公司对于邮寄的包裹有尺寸要求,必须满足以下条件:
每件包裹的长、宽、高之和须小于或等于200厘米,且任意一边长度必须小于或等于80厘米。 (假设所有包裹都是长方体)编写一个重复执行的程序,可以实现自动判断包裹是否符合要求。
具体要求如下:
- (1) 用户以厘米为单位按顺序分别输入包裹的长、宽、高 (用户只输入大于零的数字,不输入长度单位,可以输入小数;分多次输入还是一次输入不做要求);
- (2) 程序自动判断用户输入的包裹尺寸是否满足此快递公司的要求;
- (3) 如果满足要求,就输出"可以邮寄";
- (4) 如果不满足要求,就输出"不可以邮寄";
- (5) 重复以上操作。
# 主程序循环
while True:
# 获取包裹尺寸
length_input = input("请输入包裹的长度(厘米): ")
width_input = input("请输入包裹的宽度(厘米): ")
height_input = input("请输入包裹的高度(厘米): ")
# 检查输入是否为数字
if not (length_input.replace('.', '', 1).isdigit() and
width_input.replace('.', '', 1).isdigit() and
height_input.replace('.', '', 1).isdigit()):
print("错误:请输入有效的数字。")
continue
# 转换为浮点数
length = float(length_input)
width = float(width_input)
height = float(height_input)
# 检查输入值是否有效
if length <= 0 or width <= 0 or height <= 0:
print("错误:所有尺寸必须大于零,请重新输入。")
continue
# 计算三边之和和最大边长
sum_of_dimensions = length + width + height
max_dimension = max(length, width, height)
# 判断包裹是否符合要求
if sum_of_dimensions <= 200 and max_dimension <= 80:
print("可以邮寄")
else:
print("不可以邮寄")
# 询问用户是否继续
choice = input("\n是否继续检查另一个包裹? (y/n): ")
if choice.lower() != 'y':
break
- 解析
2. 字符分类(15分)
编写程序帮老师对英语试卷中的英文字母、数字和其他字符(注意:包括空格)进行分类并统计每种字符的数量。
- [样例输入]
**Welcome to 2023~!
- [样例输出]
字母:Welcometo,共9个
数字:2023,共4个
其它字符:** ~!,共5个
# 获取用户输入的文本
text = input("请输入一段文字:")
# 初始化计数器
letters = ""
digits = ""
others = ""
letter_count = 0
digit_count = 0
other_count = 0
# 遍历输入的文本中的每个字符
for char in text:
if char.isalpha(): # 判断是否为字母
letters += char
letter_count += 1
elif char.isdigit(): # 判断是否为数字
digits += char
digit_count += 1
else: # 其他字符(包括空格)
others += char
other_count += 1
# 输出结果
print(f"字母:{letters},共{letter_count}个")
print(f"数字:{digits},共{digit_count}个")
print(f"其它字符:{others},共{other_count}个")
- 解析