2022 年第 20 届 NOC Python 赛项选拔赛
初中组
一、选择题
1 、下列选项中,不能作为计算机的输入设备的是?
A. 键盘
B. 鼠标
C. 普通显示器
D. 摄像头
答案: C
2 、下述选项中,不可以作为变量名的是?
A. b1
B. nameA
C. message_1
D. 2022NOC
答案: D
3 、已知 a = 10 , b = 20 , c = 30 ,以下代码运行后,变量 a 的值为 30 的
是 :
A. a, b = b, a
B. a, c = b, a
C. a, b = b, c
D. a, c = c, a+b
答案: D
4 、想从字符串 s = ' 我是一个字符串 ' ,打印出 ' 字符串 ' ,可用以下哪种方式?
A. print(s[4:])
B. print(s[4:6])
C. print(s[3:6])
D. print(s[5:])
答案: A
5 、以下是不可变类型的是?
A. 集合
B. 元组
C. 字典
D. 列表
答案: B
6 、想要输出 0 - 100 的数字,横线处应填写的是?
for n in range(____):
print(n)
A. 99
B. 100
C. 101
D. 102
答案: C
7 、请看下列代码,若想要输出 yes ,可以输入的内容是?
s = input(' 请输入: ')
if s == s[:: - 1]:
print('yes')
else:
print('no')
A. level
B. yes
C. no
D. hahaha
答案: A
【解析】 s[:: - 1] 表示对字符串切片,得到的结果会将 s 原字符倒序排列,字符
串 'level' 倒序排列前后相同,故输出 yes
8 、程序运行后,输出 [' 草莓 ', ' 车厘子 ', ' 芒果 ', ' 榴莲 '] ,则横线上的代码是?
fruit1 = [' 芒果 ',' 车厘子 ',' 草莓 ']
fruit2 = [' 榴莲 ']
for f in fruit1:
______________
print(fruit2)
A. fruit2.pop()
B. fruit1.append(f)
C. fruit2.appen d(f)
D. fruit2.insert(0,f)
答案: D
【解析】列表的 append() 方法用于在列表后添加新元素。 insert() 用于将指定
对象插入列表的指定位置。程序运行后 fruit2 中存储的元素为 [' 草莓 ', ' 车厘子 ',
' 芒果 ', ' 榴莲 '] ,使用的是程序 fruit2.insert(0,f)
9 、 想要生成 0 到 9 的随机小数,选项中正确的是?
A . random.uniform(0,10)
B . random.uniform(0,9)
C . randint.uniform(0,9)
D . rando m.random(0,9)
答案: B
【解析】 random.uniform(0,9) 会得到 0 - 9 的随机小数。
10 、 下列程序运行后,显示的图形形状是?
import turtle
for i in range(5):
turtle.forward(50)
turtle.left(90)
A. 正方形
B. 三角形
C. 正五边形
D. 正六边形
答案: A
【解析】在循环中,每次前进 50 像素后,左转 90 度,循环 5 次后,得到的是
正方形
11 、请看下列代码:
a = int(input(' 请输入 a:'))
b = int(input(' 请输入 b:'))
if b == 50 or a == 30 and a < 50:
print('Yes')
else:
print('No')
当输入 60 , 50 时,最终运行结果是?
A. 没有效果
B. No
C. Yes
D. 报错
答案: C
【解析】逻辑运算符 and 两边都为 True 结果才为 True; 逻辑运算符 or 只要有
一边为 True, 结果就为 True; and 的运算级优先于 or 。故选 C
12 、请看下列代码,运行后的输出结果是?
a = [x for x in range(9) if x % 2 == 1]
print(a)
A. [0, 2, 4, 6, 8]
B. [1, 3, 5, 7, 9]
C. [1, 3, 5, 7]
D. 程序运行报错
答案: C
【解析】本题考察列表的推导式,获取 0~8 的中的奇数,存储在列表中。
13 、阅读以下程序,请问程序运行后输入 20 ,会输出什么结果?
num = int(input(' 请输入: '))
if num % 2 == 1:
print(num * 2)
else:
print(num / 2)
A. 40.0
B. 10
C. 40
D. 10.0
答案: D
【解析】 num % 2 表示 num 除 2 的余数,若等于 1 则表示为奇数,否则表示
为偶数,输入 20 后,因为 20 是偶数,则执行 else 语句后的内 容,即 num/2 ,
结果为 10.0
14 、现在有一段程序如下,请问程序运行的结果是什么?
def fun(level):
if level < 1:
raise Exception('Invalid level!')
print(3)
try:
fun(0)
except Exception as err:
print(1)
else:
print(2)
A. 0
B. 1
C. 2
D. 3
答案: B
【解析】调用函数 fun() ,传参 level 为 0 后,判断 level 小于 1 时,会触发异
常,触发异常后,后面的代码就不会再执行。发生异常后会执行 except 语句
中的代码,故选 B 。
15 、阅读以下程序,程序输出的结果为?
start = 1900
end = 1920
cnt = 0
for num in range(start, end):
if num % 4 == 0 and
2022年第20届NOC_Python赛项初中组选拔赛(附答案),2022年NOC大赛原创未来猿编程Python赛项初中组选拔赛及答案