我的试题回顾(1-8)
第1题:单项选择题
下列程序执行结果为:B
for i in range(2):
print(i, end="")
for i in range(4, 6):
print(i, end="")
A :246
B:0145
C:012456
0
D: 1
4
5
答案解析
考察重点: print()函数,for和 range()函数。
range()函数的语法为: range(start, end, step)
start: 计数从 start 开始,默认是从 0 开始;例如 range(5) 等价于 range(0, 5);
end: 计数到 end 结束,但不包括 end;例如:range(0, 5) 等于 [0, 1, 2, 3, 4],没有5;
step:步长,默认为1。
range(2)是0,1, range(4, 6)是4,5,由于打印时使用了end参数( end="")把每次打印的换行符替换掉,所以最后结果为0145。
第2题:单项选择题
下列程序执行结果为:B
for x in {'a': 'b', 'c': 'd'}:
print(x, end=" ")
A:b c
B:a c
C:b d
D:a b
考察重点:提取字典键/值/键值对。
dict1 = {'a': 'b', 'c': 'd'}
# 遍历字典的键
for x in dict1:
print(x)
# 遍历字典的值
for x in dict1.values():
print(x)
# 遍历字典的键值对
for k, v in dict1.items():
print(k, v)
第3题:单项选择题
下列程序执行结果是:D
n = 0
for i in '2019-2020':
n += 1
print(n)
A:2
B:3
C:8
D:9
答案解析
考察重点:for循环遍历字符串。
for循环能够遍历字符串;
字符串'2019-2020'的长度为9,那么循环次数也为9;
for循环结束后, n 的值即为所遍历的字符串的长度, n为9。
第4题:单项选择题
运行下列的代码,结果是:D
d = [1, 5, 9, 8]
a = 7
print(bool(a in d))
A:报错
B:None
C:True
D:False
答案解析
考察重点:成员运算符。
打印的是“a in d”这个表达式是打印布尔值False或Ture, a不再列表 b中,因此为False。
第5题:单项选择题
下面的循环会运行多少次?C
for i in range(1, 6):
print('Hi,William')
A:3
B:4
C:5
D:6
答案解析
考察重点:for和 range()函数。
range(1,6)表示范围1-6(包括1,不包括6)运行的次数为6-1=5。
第6题:单项选择题
助教正义在写一个小游戏。想把启动的功能交给你来写。要求如下:
一局游戏结束之后,系统会询问是否要继续玩游戏,如果愿意则继续玩,不愿意玩则退出游戏。
下面哪个代码不能实现这个效果?D
A
x = True
while x:
print('新游戏开始!\n游戏结束~')
y = input('输入y可再来一次游戏:')
if y != 'y':
x = False
B
while True:
print('新游戏开始!\n游戏结束~')
y = input('输入y可再来一次游戏:')
if y != 'y':
break
C
y = ''
while y == 'y' or 'Y':
print('新游戏开始!\n游戏结束~')
y = input('输入y或Y可再来一次游戏:')
if y == 'y' or y == 'Y':
continue
else:
break
D
while 'False':
print('新游戏开始!\n游戏结束~')
y = input('输入y或Y可再来一次游戏:')
if y != 'y' or y != 'Y':
break
答案解析
考察重点:while循环结构, break语句, continue语句。
A能实现,通过设置变量 x=True,开启循环,当输入 y不等于指定输入时, x会变成False,循环关闭;
B能实现,通过判断输入变量是否为y,不是y则执行 break语句,跳出循环;
C能实现,条件 y == 'y' or 'Y'为真,可以开启循环的,因为 or 后面的条件为字符串 'Y',非空字符串为真;
D不能实现,while后的'False'为字符串,开启while循环,如果输入y或Y,if条件判断为真(其实输入任何字符,if条件判断都为真;if语句的条件y != 'y' or y != 'Y'等价于y == 'y' and y == 'Y'(y不可能即等于'y'且等于'Y'),因此代码中if语句的组合条件一定为真),执行 break语句,跳出循环,停止游戏。
第7题:单项选择题
以下代码会出现多少次‘666666’?B
teacher_list = ['正义','卡西','漫漫','延君']
for teacher in teacher_list:
if teacher != '卡西':
pass
print ('666666')
print ('助教:'+teacher+'爱你喔')
print('风变爱你喔')
A:0次
B:3次
C:4次
D:程序报错,无结果
答案解析
考察重点:循环过程与循环次数。循环遍历列表。
teacher_list = ['正义', '卡西', '漫漫', '延君']
# 遍历列表teacher_list
for teacher in teacher_list:
# 如果teacher不等于'卡西',会打印'666666'
if teacher != '卡西':
pass
print('666666')
print('助教:' + teacher + '爱你喔')
print('风变爱你喔')
第8题:单项选择题
运行下列代码,在终端中的显示结果是什么?C
while True:
while True:
break
print(1)
print(2)
break
print(3)
A:2
B:3
C:2
3
D:2 3
答案解析
考察重点: break语句。
break只会跳出一个循环;
先执行内部的while循环,第一个 break跳出内部while循环,不打印任何内容;
再执行外部的while循环,先打印“2“,然后 break跳出外部while循环;
最后打印循环外的“3“。
第9题:单项选择题
下面代码的执行结果是什么?D
while True:
if a > 6:
print('你猜的太大啦')
elif a == 6:
print('猜对了')
else:
print('你猜的太小了')
break
A:你猜的太大啦
B:你猜的太小了
C:猜对了
D:报错,报错信息为name 'a' is not defined
答案解析
考察重点:常见语法错误。
代码中并没有先定义 a,所以会报错
第10题:单项选择题
以下选项中,哪项是正确的切片结果:A
A
list1 = [1, 3, 5, 8, 2, 9]
print(list1[1:])
结果为[3, 5, 8, 2, 9]
B
list1 = [1, 5, 19, 11, 23, 9]
print(list1[2:3])
结果为[5, 19]
C
list1 = [0, 5, 11, 5, 27, 14]
print(list1[:3])
结果为[5, 27, 14]
D
list1 = [36, 21, 15, 7, 27, 14]
print(list1[2:])
结果为[21, 15, 7, 27, 14]
答案解析
考察重点:列表切片。
A正确;
B错误,结果为[19];
C错误,结果为[0, 5, 11];
D错误,结果为[15, 7, 27, 14];
第11题:单项选择题
以下代码运行后的结果是:C
for i in range(1, 10, 2):
print(i, end='、')
A:0、1、2、3、4、5、6、7、8、9、
B:0、2、4、6、8、
C:1、3、5、7、9、
D:2、4、6、8、
答案解析
考察重点:for和 range()函数。
for i in range(1, 10, 2),i的取值是1 <= i < 9,取值的间隔为2,索引i的取值依次为1,3,5,7,9;
print(i, end='、')的意思是打印后以“、”结尾,所以打印结果是“ 1、3、5、7、9、“。
第12题:单项选择题
能用 print()函数正确打印的是:A
A:print(2)
B:print(abc)
C:print('10'+4)
D:print("333')
答案解析
考察重点: print()函数,字符串拼接。
A正确;
B错误,字符打印要加引号或双引号;
C错误,使用+拼接字符串,数据类型必须一致;
D错误,单引号和双引号不能同时用。
第13题:单项选择题
双十一,女士们的剁手节,男士们的割肾日。男士们觉得自己只有两个肾,不禁割,齐向上帝祈祷,废除双十一。上帝提出只要打印出5,就满足男士们的愿望。
下列哪个选项能实现男士的愿望,维护世界和平?A
A:print(1+4)
B:print("3"+2)
C:print('0+5')
D:print("5')
答案解析
考察重点: print()函数,字符串拼接。
A正确,能够打印出5;
B错误,使用 +拼接字符串,数据类型必须一致;
C错误,会打印出"0+5"这个字符串,而不是5;
D错误,单引号和双引号不能同时用。
第14题:单项选择题
下面哪个选项是正确:A
A:print('1+4')
B:print(6+'2')
C:print('''0+5')
D:print(快乐生活)
答案解析
考察重点: print()函数,字符串拼接。
A正确;
B错误,使用 +拼接字符串,数据类型必须一致;
C错误,三引号和单引号不能同时引用;
D错误,字符串打印要加引号;
第15题:单项选择题
选择下列程序的正确打印结果:A
for i in 'python':
if i == 'h':
pass
print(i, end='')
A:python
B:pyt
C:pyth
D:pyton
答案解析
考察重点: pass语句。
pass只起到补充结构的作用,占个位置,并不执行任何操作。
第16题:单项选择题
下列说法正确的是:C
while True:
for i in range(6):
if i == 3:
break
print(i)
break
A:第一个 break跳出if判断,第二个 break跳出while循环
B:第一个 break跳出if判断,第二个 break跳出for循环
C:第一个 break跳出for循环,第二个 break跳出while循环
D:第一个 break跳出while循环,第二个 break没有执行
答案解析
考察重点: break语句。
break和 continue都是用在循环中, break跳出的是离它最近的循环。
第一个 break跳出的是for循环,如果if判断语句的条件为真,那么跳出for循环;
第二个 break跳出while循环。
第17题:多项选择题
关于循环和else语句,下列说法错误的是?【 A 、 C 、 D 】
A:while循环不能搭配 else语句
B:for循环和while循环都可以搭配 else语句
C:只要循环结束,一定会执行 else 语句
D:一定要进入循环,才可能执行 else语句
答案解析
考察重点: else语句。
for循环和while循环都可以搭配 else语句;
如果循环正常结束,则执行 else语句,如果使用break语句跳出循环,不执行 else语句;
即使条件不满足,不能进入循环,也会执行 else语句。
第18题:单项选择题
跳过当前循环中的未执行的语句,进行下一轮循环的关键词是:A
A:continue
B:break
C:return
D:for
答案解析
考察重点: continue语句。
continue语句的功能是跳过当前循环中的剩余语句,然后继续进行下一轮循环。
第19题:单项选择题
条件为True,想要程序无限执行直到人为停止的话,需要使用的关键词是:C
A:for
B:break
C:while
D:if
答案解析
考察重点:while 循环结构。
while是只要满足条件就会一直循环,所以想要程序无限执行,需要用while循环。
第20题:单项选择题
运行下列代码,会打印几行?D
a = 1
while '延君真可爱':
a = 0
a = a*2
print(a)
a += 1
if a > 10:
break
A:2行
B:3行
C:4行
D:死循环
答案解析
考察重点:非空字符串,布尔值为True,因此'延君真可爱'的布尔值为真,进入while循环;
第三行代码 a=0,每次循环都会重新将a赋值为0,所以循环内的if条件,永远为假,无法执行 break,会陷入死循环;
如果去掉,第三行代码a=0,循环过程如下:
第一次循环, a=a2,结果使a的值更新为2并打印出来,再加1为3,小于10, else语句生效,返回循环;
第二次循环, a=a2,结果使a的值更新为6并打印出来,再加1为7,小于10, else语句生效,返回循环;
第三次循环, a=a*2,结果使a的值更新为14并打印出来,再加1为15,大于10,if语句生效,跳出循环。