2022 年第 20 届 NOC Python 赛项决赛
小高组
选择题
第 1 题
以下选项的关键字中,不 属 于分支结构的是?
A. elif
B. if
C. else
D. in
答案: D
第 2 题
关于 Python 的数据类型,下列选项描述错误的是?
A. 10.0 是一个浮点数
B. 字符串可以保存在变量中,也可以单独存在
C. int('1.0') 返回的结果是整数
D. 布尔类型的值只有 True 和 False
答案: C
第 3 题
已知字符串 s = 'hello python'( 注意中间有一个空格 ) ,想要截取其中的
'python', 选项中不能实现的是?
A. s[6:]
B. s[6: 11]
C. s[ - 6: 12]
D. s[ - 6:]
答案: B
第 4 题
下列选项的输出结果为 True 的是?
A. 2>0 and 3<0 or 3<0
B. 2>0 or 3<0 and 3<0
C. not ('1' == 1) and 1 != 1.0 or '2' == '2.0'
D. ('test' == 'Test') or 1 != 1.0 and 2 == 2.0
答案: B
第 5 题
下列代码执行完毕后,输出的结果是?
nums = [3, 1, 2, 4, 0]
nums.insert(1, 0)
nums.pop()
nums.append(1)
nums.remove(2)
print(nums)
A. [0, 3, 1, 4, 1]
B. [0, 1, 2, 4, 1]
C. [3, 0, 1, 4, 1]
D. [3, 0, 2, 4, 1]
答案: C
第 6 题
以下选项能正确随机一个 6~8 范围内整数的是?
A. random.randint(6, 9)
B. randint.random(6, 9)
C. random.randint(6, 8)
D. random.choice(6, 8)
答案: C
第 7 题
请问执行完以下代码后,海龟画布上画出的线段长度为多少?
import turtle as t
t.speed(0)
t.color("red")
t.pensize(3)
t.shape("circle")
t.forward(100)
t.forward( - 10)
t.forward(20)
t.backward(20)
t.backward( - 10)
t.left(90)
t.home()
t.right(90)
A. 120
B. 110
C. 100
D. 90
答案: B
第 8 题
请问执行完以下代码后,输出结果为?
tot = 0
for n in range(3, 66 + 1):
if n % 2 == 0:
continue
if n % 10 == 9:
break
tot += n
print(tot)
A. 18
B. 33
C. 2208
D. 15
答案: D
第 9 题
请问执行完以下代码后,输出结果为?
def is_lucky(num):
if num % 6 == 0:
return True
while num > 0:
if num % 10 == 6 or num % 10 == 8:
return True
num /= 10
return False
ls = [13, 666, 888, 32, 332, 987, 555, 345, 876]
cnt = 0
for n in ls:
if is_lucky(n):
cn t += 1
print(cnt)
A. 3
B. 4
C. 5
D. 6
答案: A
第 10 题
请问执行完以下代码后,输出结果为?
ls = [1, 2, 3, 4, 5, 1]
n = len(ls)
for i in range(n):
for j in range(i + 1, n):
if ls[j] > ls[i]:
tmp = ls[i]
ls[i] = ls[j]
ls[j] = tmp
print(ls)
A. [1, 2, 3, 4, 5, 1]
B. [1, 1, 2, 3, 4, 5]
C. [5, 4, 3, 2, 1, 1]
D. 报错,无输出
答案: C
程序题
1 、给定列表求最值
ls = [ - 1, - 3, - 345, - 22, - 2, - 999]
# 设置最大值计数器 maxn 初值
maxn = ______
for n in ______:
# 满足什么条件就更新 maxn 呢?
if ______:
maxn = n
# 输出最大值
print(maxn)
参考代码:
ls = [ - 1, - 3, - 345, - 22, - 2, - 999]
maxn = ls [0]
for n in ls :
if n > maxn :
maxn = n
print(maxn)
2 、列表函数
有两个列表 A 和 B ,使用列表 C 来获取两个列表中共有的元素。
例如: A = [1, 'a', 4, 90] B = ['a', 9, 'j' , 1] ,则 C =
[1, 'a']
A = [1, 'a', 4, 90]
B = ['a', 9, 'j', 1]
C = []
for i in range(0, len(A)):
for j in range(_______):
if A[i] == ___:
________
print(C)
参考代码:
A = [1, 'a', 4, 90]
B = ['a', 9, 'j', 1]
C = []
for i in range(len(A)):
for j in range( len (B ) ) :
if A[i] == B[j] :
C.append(B[j])
print(C)
3 、吉利又霸气的英文名
每个字母都有自己的积分:它在字母表是第几个它的积分就是几,比如: a
的积分是 1 , z 的积分是 26 。一个字符串的积分为所有字符的积分之和。我们
知道中国人特别喜欢 6 和 9 ,觉得 6 是一个幸运数字,而 9 则是一个霸气的数
字,毕竟九五 至 尊嘛 ~ 若一个字符串的积分既是 6 的倍数,又是 9 的倍数,则
此字符串为吉利又霸气的字符串。现在给你一个英文名,请你来判断这个英文
名是不是吉利又霸气,如果是的,请输出
NOC决赛Python小高组(附答案)NOC大赛Python编程小高组决赛真题附答案