2022 年第 20 届 NOC Python 赛项选拔赛
初中组
一、选择题
1、下列选项中,不能作为计算机的输入设备的是?
A. 键盘
B. 鼠标
C. 普通显示器
D. 摄像头
2、下述选项中,不可以作为变量名的是?
A. b1
B. nameA
C. message_1
D. 2022NOC
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
4、想从字符串 s = ' 我是一个字符串 ',打印出 '字符串 ',可用以下哪种方式?
A. print(s[4:])
B. print(s[4:6])
C. print(s[3:6])
D. print(s[5:])
5、以下是不可变类型的是?
A. 集合
B. 元组
C. 字典
D. 列表
6、想要输出 0-100 的数字,横线处应填写的是?
for n in range(____):
print(n)
A. 99
B. 100
C. 101
D. 102
7、请看下列代码,若想要输出 yes ,可以输入的内容是?
s = input(' 请输入: ')
if s == s[:: -1]:
print('yes')
else:
print('no')
A. level
B. yes
C. no
D. hahaha
8、程序运行后,输出 ['草莓 ', ' 车厘子 ', ' 芒果 ', ' 榴莲 '],则横线上的代码是?
fruit1 = [' 芒果 ','车厘子 ','草莓 ']
fruit2 = [' 榴莲 ']
for f in fruit1:
______________
print(fruit2)
A. fruit2.pop()
B. fruit1.append(f)
C. fruit2.append(f)
D. fruit2.insert(0,f)
9、 想要生成 0到 9 的随机小数,选项中正确的是?
A. random.uniform(0,10)
B. random.uniform(0,9)
C. randint.uniform(0,9)
D. random.random(0,9)
10 、 下列程序运行后,显示的图形形状 是?
import turtle
for i in range(5):
turtle.forward(50)
turtle.left(90)
A. 正方形
B. 三角形
C. 正五边形
D. 正六边形
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. 报错
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. 程序运行报错
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
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
15 、阅读以下程序,程序输出的结果为?
start = 1900
end = 1920
cnt = 0
for num in range(start, end):
if num % 4 == 0 and num % 100 != 0 or num % 400 == 0:
cnt += 1
print(cnt)
A. 3
B. 4
C. 5
D. 报错
16 、阅读以下程序,程序输出的结果为?
numbers = [12, 3, 1, 5, 2, 4, 7, 9, 11, 100]
index = 0
newList = []
while index < len(numbers):
if numbers[index] % 2 == 0:
newList.append(numbers[index])
index += 1
print(newList)
A. [12, 2, 4, 100]
B. [0, 4, 5, 9]
C. [3, 1, 5, 7, 9, 11]
D. [12, 2, 4]
17 、已知代码如下:
class Plane():
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
planes = [Plane(' 战斗机 ', ' 黑色 ', ' 小型 '),
Plane(' 客机 ', ' 白色 ', ' 中型 '),
Plane(' 航母 ', ' 灰色 ', ' 超大型 ')]
for plane in planes:
print(plane.b, end=' ')
代码运行后控制台的效果是:()
A. 黑色 白色 灰色
B. 战斗机 客机 航母
C. 小型 中型 超大型
D. 客机 白色 中型
18 、请看下列代码:
a = 3
b = 0
def change():
global a, b
b = b + a
print(b, end = ' ')
while a > 0:
change()
a = a - 1
运行后输出结果正确的是()
A. 3 5
B.
2022NOC原创未来 猿编程赛道 Python选拔赛 初中组 ,NOC大赛原创未来Python选拔赛初中组真题