
分数:100 题数:37
一、单选题(共25题,共50分)
1.给定字符串s,下列表示s最后一个字符的是?( )
A.s[:-1]
B.s[1]
C.s[0:-1]
D.s[-1]
答案:D
2.运行下列代码,终端区打印的结果是?( )
nums = [1, 2, 3, 4]
nums.append(nums[4])
print(nums)
A.[1, 2, 3, 4, 5]
B.[1, 2, 3, 4, 4]
C.[1, 2, 3, 4]
D.终端区会报错
答案:D
3.下列哪个选项是元组类型的数据?( )
A.[1, 2, 3]
B.(1, 2, 3)
C.{1, 2, 3}
D.{1:'小明', 2:'小李'}
答案:B
4.下列代码片段执行的结果是?( )
poet=[{'唐':['李白','王维','孟浩然'],'宋':['苏轼','陆游','王安石']},'618年-907年',['960年-1279年']]
print(len(poet))
A.1
B.2
C.3
D.4
答案:C
5.下列代码运行的结果是?( )
ls=['富强','民主','文明','和谐','自由','平等','公正','法治']
print(ls[::2])
A.['富强','民主','文明','和谐']
B.['自由','平等','公正','法治']
C.['法治', '平等', '和谐', '民主']
D.['富强', '文明', '自由', '公正']
答案:D
6.阿宝想在屏幕终端上打印出文字“我的名字叫阿宝,我今年10岁了,我的爱好是编程。”, 阿宝已经定义的变量如下:
name='阿宝'
age=10
hobby='编程'
下列输出语句错误的是?( )
A.print('我的名字叫{1},我今年{0}岁了,我的爱好是{2}。'.format(age,name,hobby))
B.print('我的名字叫{},我今年{}岁了,我的爱好是{}。'.format(name,hobby,age))
C.print('我的名字叫%s,我今年%d岁了,我的爱好是%s。'%(name,age,hobby))
D.print('我的名字叫%s,我今年%s岁了,我的爱好是%s。'%(name,age,hobby))
答案:B
7.ls=[3,7,2,1]
for i in range(3,0,-1):
for j in range(i):
if ls[j]>ls[j+1]:
ls[j],ls[j+1]=ls[j+1],ls[j]
print(ls)
以上程序打印的结果是?( )
A.[1,3,2,7]
B.[1,2,3,7]
C.[3,2,1,7]
D.[1,7,3,2]
答案:B
8.下列程序运行后,输出的结果是?( )
list = ['春季', '夏季', '秋季', '冬季', '1+1', 6+1, 'ab']
print(list[0])
print(list[5])
print(list[6])
print(list[4])
A.春季
6+1
ab
1+1
B.春季
7
ab
1+1
C.春季
7
ab
2
D.冬季
7
ab
1+1
答案:B
9.运行下列程序,输出的结果是?( )
s1 = "Good \\n"
s2 = "Morning."
print(s1 + s2)
print(len(s1))
A.Good Morning.
6
B.Good
Morning.
6
C.Good Morning.
7
D.Good
Morning.
7
答案:B
10.请问下列程序运行后,输出结果应该是?( )
t1 = (2, 3, 4, 5)
t2=t1*2
print(min(t2)+max(t2)+len(t2))
A.15
B.14
C.13
D.12
答案:A
11.ls = ["cat", "dog )
A.ls.append('monkey')
B.ls.insert('monkey')
C.ls.extend('monkey')
D.ls.add('monkey')
答案:A
12.下列选项不属于分支结构语句的是?( )
A.if
B.elif
C.else
D.then
答案:D
13.执行下列程序代码,得到的输出结果是?( )
i = 1
while i < 10 :
i += 1
print(i
A.1
B.9
C.10
D.11
答案:C
14.下列语句创建了一个Python字典的是?( )
A.{ }
B.{a,bb,ccc}
C.[a,bb,ccc]
D.(a,bb,ccc)
答案:A
15.下列哪个语句,是用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环?( )
A.exit
B.pass
C.break
D.continue
答案:D
16.在下列选项中,哪个选项可以正确地从字典里,获取'西瓜'这个字符串?( )
name_dict = {1:'西瓜', 2:'南瓜'}
A.name_dict['西瓜']
B.name_dict['南瓜']
C.name_dict[1]
D.name_dict[2]
答案:C
17.下列选项中,对下面程序的打印结果描述正确的是?( )
a = [0, 1, 2, 3]
i = len(a) - 1
while i > 0:
print(a[i])
i -= 1
A.3
2
1
B.1
2
3
C.0
1
2
3
D.3
2
1
0
答案:A
18.已知列表ls = list(range(1,13,3)),下列哪个命令能够获得列表中的倒数第二个元素?( )
A.ls[3]
B.ls[4]
C.ls[-1]
D.ls[-2]
答案:D
19.已知字符串str = "Happy birthday",则执行print(list(str))的输出结果是?( )
A.['H','a','p','p','y','b','i','r','t','h','d','a','y']
B.[H,a,p,p,y,b,i,r,t,h,d,a,y]
C.['H','a','p','p','y',' ','b','i','r','t','h','d','a','y']
D.[H,a,p,p,y, ,b,i,r,t,h,d,a,y]
答案:C
20.下列说法正确的是?( )
A.sort函数对列表排序后,不会改变原有列表
B.sort函数排序时,对于列表中的元素数据类型没有要求
C.sort函数默认是按照从大到小的顺序进行排序的
D.sort函数如果加入 reverse=False,就会按照从小到大的顺序排序
答案:D
21.下列选项中,哪个选项的代码会报错?( )
A.t = (1, 2)
t[1] = 5
B.t = (1, 2)
a = sorted(t)
C.t = (1, 2)
t[0:1]
D.t = (1, 2)
sum(t)
答案:A
22.下列选项中,不能从字典中删掉'xiaoming'的是?( )
dic = {'name': 'xiaoming','age': 8}
A.del dic['name']
B.dic['name'] = 'clever'
C.dic.clear()
D.dic.pop(0)
答案:D
23.执行下列语句后,输出是?( )
dict0 = {"apple": 3, "banana": 5, "orange": 2}
dict0["banana"] += 2
dict0["grape"] = 4
dict0["grape"] += 4
print(dict0["grape"])
A.2
B.4
C.6
D.8
答案:D
24.执行下列程序,输入10,则y的值是?( )
x = int(input())
if x!=0:
if x>0:
y=-1
else:
y=1
else:
y=0
A.0
B.1
C.-1
D.10
答案:C
25.下列代码执行后的输出是?( )
mylist= [1, 2, 3, 4, 5]
newlist = mylist[1:4]
newlist.append(6)
print(newlist
A.[1, 2, 3, 4, 6]
B.[1, 2, 3, 6]
C.[2, 3, 4, 6]
D.[2, 3, 4, 5, 6]
答案:C
二、判断题(共10题,共20分)
26.可以使用[ ]创建列表。( )
答案:对
27.break 语句执行后,程序就会跳出本次循环,继续进行下一轮循环。( )
答案:错
28.字符串、列表和元组都是有序的,它们的区别是字符串和列表都可以切片而元组不可以切片。( )
答案:错
29.定义元组后,可以像访问列表那样,通过索引的方式访问元组元素。( )
答案:对
30.a = " %s ! 第 %d 名!" % ('Python', 1)
print(a)
这个程序段运行后,显示的输出结果是:Python ! 第 1 名!( )
答案:对
31.字典是Python语言中的一种数据结构,用来存储键值对。( )
答案:对
32.for循环一般用于循环次数已知的情况。所有的for循环都可以用while循环改写。( )
答案:对
33.Python中的双分支结构必须要有elif才能实现。( )
答案:错
34.if语句中可以嵌套while,while语句中可以嵌套if。( )
答案:对
35.str1和str2分别是字符串类型,则str1+str2表示str1与str2两个字符串连接,str1-str2表示从str1中减去str2的字符串。( )
答案:错
三、编程题(共2题,共30分)
36.密码判断:编写一段能够实现密码判断功能的Python代码。
要求:
(1)程序运行开始后,用户通过键盘输入密码(格式为字符串);
(2)如果密码错误,让用户继续输入密码;
(3)如果密码正确,屏幕输出“密码正确,欢迎您!”,并终止循环,结束程序;
(4)正确的密码可以在程序中明确,无需用户输入。
示例:
如:程序中的密码为:123456
程序运行后提醒用户输入密码,密码错误没有提示,继续要求输入密码,如果密码正确,则屏幕输出“密码正确,欢迎您!”并且结束程序。
参考程序:
correct_password = '123456'
while True:
password = input("请输入密码:")
if password == correct_password:
print("密码正确,欢迎您!")
break
37.蚂蚁是自然界的大力士:一只蚂蚁能够举起自身体重40倍的物体,能够拖运自身体重1700倍的物体。蚂蚁十分勤劳,为了保证以最快速度完成搬运,能够举起物体时绝不拖运。
现已知某只蚂蚁的体重为50毫克,地上的10块食物重量(单位:毫克)为500,60000, 25,1200, 2200, 1800, 10000, 80000, 3000, 65.请帮蚂蚁编程计算,可以举起和需要拖运的食物各有几个?
要求:
(1)必须使用列表或者元组;
(2)输出格式为:“该蚂蚁可以举起的食物有*个,可以拖运的食物有*个。”(不含引号);
(3)提醒:根据题意,“能够举起物体时绝不拖运”,所以拖运的食物和举起的食物不会重复。
参考程序:
ant_weight = 50
food_weights = [500, 60000, 25, 1200, 2200, 1800, 10000, 80000, 3000, 65]
can_lift = 0
can_drag = 0
max_lift_weight = ant_weight * 40
max_drag_weight = ant_weight * 1700
for weight in food_weights:
if weight <= max_lift_weight:
can_lift += 1
elif weight <= max_drag_weight:
can_drag += 1
print(f"该蚂蚁可以举起的食物有{can_lift}个,可以拖运的食物有{can_drag}个。")
