#我的试题回顾(1-8)

  • Post author:
  • Post category:其他


我的试题回顾(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=a

2,结果使a的值更新为2并打印出来,再加1为3,小于10, else语句生效,返回循环;

第二次循环, a=a

2,结果使a的值更新为6并打印出来,再加1为7,小于10, else语句生效,返回循环;

第三次循环, a=a*2,结果使a的值更新为14并打印出来,再加1为15,大于10,if语句生效,跳出循环。



版权声明:本文为weixin_43279138原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。