202 1 年 第 1 9 届 NOC Pytho n 赛项选拔赛
一、 选择题
1、 如果我们在写程序时想要缩进,可以使用哪个按键呢?
A. 回车键
B. 空格键
C. shift 键
D. 删除键
2、 按住 shift 再按数字 1,会输入哪个符号?
A. !
B. @
C. #
D. %
3、 下面语句中能够实现输入的是:
A. input()
B. print()
C. int()
D. import()
4、 下面哪个选项能够实现将 a赋值为 2021 ?
A. a = 2021
B. a == 2021
C. 2021 = a
D. 2021 == a
5、 下述哪个选项可以作为变量的名字?
A. 5fu
B. num-1
C. if
D. a1
6、 以下哪个选项可以让变量 a的值减少 1?
A. a = 1
B. a -1
C. a =- 1
D. a = a -1
7、 下面哪个选项能够导入海龟画图库?
A. import random
B. import time
C. import turtle
D. import halo
8、 可以通过以下哪种方式从整数 123 中提取出它的个位,得到数字 3?
A. 123 % 2
B. 123 /2
C. 123 % 10
D. 123 /10
9、 现在有变量 a= “ 123 ” , 数据类型为字符串类型 。 现在想要让变量 a的值
变为 123 ,数据类型为整数类型。以下哪个语句能够实现?
A. int(a)
B. a = int(a)
C. a = str(a)
D. str(a)
10 、 想从字符串 s= “ beautiful ” 中打印出字母 ” a” ,请问应该用以下哪 种
方式?
A. print(s[3])
B. print(s[a])
C. print(s[2])
D. print(s[-2])
11 、 现在已知一个字符串 s= “ abcdef ” , 现在想从中拆出 ” def ” 这个部分 ,
应该使用以下哪个选项?
A. s[3:5]
B. s[3:6]
C. s[2:4]
D. s[2:5]
12 、 请问 range(3) 所表示的范围应该是以下哪一个?
A. 0,1,2,3
B. 1,2,3
C. 0,1,2
D. 1,2
13 、 阅读以下程序,请问程序运行后输入 32 ,会输出什么结果?
a= int(input(" 请输入: "))
ifa% 2== 0:
print(1)
else:
print(2)
A. 0
B. 1
C. 2
D. 3
14 、 现在有一段程序如下,请问程序运行的结果是什么?
s= "hello my friend!"
if"hello" in s:
print("True")
else:
print("False")
A. True
B. False
C. hello my friend!
D. 报错
15 、 阅读以下程序,请问程序运行后会输出几个 hello ?
n= 2
while n< 5:
print("hello")
n= n+ 1
A. 0
B. 3
C. 4
D. 5
16 、 阅读以下程序,请问运行结束后会显示什么?
a= 2
b= 4
a= a*b
b= a*2
print(a, b)
A. 2 4
B. a b
C. 8 4
D. 8 16
17 、 阅读以下程序,程序输出的结果为?
a= 2
b= 8
ifa> 1:
ifb> 8:
print(a)
else:
print(b)
else:
ifb> 8:
print(a + b)
else:
print(a -b)
A. 2
B. 8
C. 10
D. -6
18 、 阅读以下程序,程序输出的结果为?
n= 10
count = 0
while n< 30:
ifn% 5== 0:
count += 1
n= n+ 2
print(count)
A. 2
B. 4
C. 6
D. 8
19 、 阅读以下程序,请问程序运行会输出什么结果?
num = 15
for iin range(5):
ifnum % 3== 0:
num = num /3
else:
num = 2*num + 1
print(num)
A. 11.0
B. 23.0
C. 47.0
D. 95.0
20 、 阅读以下程序,请问程序运行后,最后的输出结果是?
ls = [81, 58, 19, 29, 85]
for iin range(2):
max = 0
for jin range(i,len(ls)):
ifls[j] > max:
max = ls[j]
max_index = ls.index(max)
temp = ls[i]
ls[i] = max
ls[max_index] = temp
print(ls)
A. [81, 58, 19, 29, 85]
B. [85, 58, 19, 29, 81]
C. [85, 81, 19, 29, 58]
D. [85, 81, 58, 29, 19]
二、 程序题
1、 简易计算器 : 我们想做一个能够计算加法 , 减法 , 乘法的简单计算器 , 例如 :
计算 3 + 5,我们依次输入数字 3,符号 “ +” ,数字 5,程序计算后输出结 果
8,请你完善代码,使代码能够实现这种功能
【输入格式】
一共 3行
第 1行:一个整数 a
第 2行:一个符号 op ,代表加号,减号,乘号
第 3行:一个整数 b
【输出格式】
共 1行,为 a和 b 进行运算后的结果
【输入样例】
3
+
5
【输出样例】
8
【预设代码】
a = input()
op = input()
b = input()
a = int(a)
__________
# b = int(b)
if op == "+":
____________
# print(a + b)
if op == "-":
print(a -b)
if op == "*":
print(a *b)
2、登月楼梯:假设我们有一张特大的纸,而且这种纸能够无限折叠,纸的初始
厚度是 0.1 毫米( 0.0001 米),每次折叠后,纸的厚度都变为原来的两倍。现
在我们知道,地球到月球的距离大约是 38 万千米( 380000000 米),请问,
我们折叠 46 次之后能否用这张纸到达月球?
【输入格式】
无
【输出格式】
共一行:
输出 Yes ,代表能登月;输出 No ,代表不能登月
【预设代码】
h = 0.00001
i= 0
while ________:
h = h *2
_________
if h > 380000000:
print("Yes")
else:
print("No")
3、 输入四个整数 , 如果这些整数能分成两组 , 这两组数的个数相同 , 和也相同 ,
则输出 "Yes" ,否则输出 "NO" (注意,输出不包括引号)
【输入格式】
一共四行,每行一个整数
【输
2021年第19届NOC_Python赛项选拔赛NOC真题,NOC大赛Python真题