2022 年第 20 届 NOC Python \gz ?\
初中 组
选择题
1. 计算机中,一个汉字需占用 2个字节来记录,请问 2个字节等于多少个二进制位?
A. 4
B. 8
C. 16
D. 32
2. 电子邮件地址中,作为区分用户名与电脑所在网络位置的符号是?
A. !
B. @
C. #
D. 空格
3. 关于 Python 的数据类型,下列选项描述错误的是?
A. 10.0 是一个浮点数
B. 字符串可以保存在变量中,也可以单独存在
C. int ('1.0') 返回的结果是整数
D. 布尔类型的值只有 True 和 False
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
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]
6. 请问执行完以下代码后,输出结果为?
ls = [9, 8, 7, [6, 5, [4, 3, 2], 1], 0]
print(ls[ -2][ -2][1: -1])
A. 3
B. [3]
C. [3, 2]
D. []
7. 请问执行完以下代码后,输出结果为?
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
8. 请问执行完以下代码后,输出结果为?
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):
cnt += 1
print(cnt)
A. 3
B. 4
C. 5
D. 6
程序题
1.
给定一个 5 * 5 的二维列表 ls:
ls = [[1, 2, 2, 1, 2],
[5, 6, 7, 8, 3],
[9, 3, 0, 5, 3],
[7, 2, 1, 4, 6],
[3, 0, 8, 2, 5]]
输入两个正整数 m、n( 1<=m<=5 , 1<= n<=5 ),将第 n行和第 m 行交换,输出交换后的
列表 。
【输入示例】
5
4
【输出示例】
[[1, 2, 2, 1, 2], [5, 6, 7, 8, 3], [9, 3, 0, 5, 3], [3, 0, 8, 2, 5], [7, 2, 1, 4, 6]]
2.
每个字母都有自己的积分:它在字母表是第几个它的积分就是几,比如: a的积分是
1, z的积分是 26 。一个字符串的积分为所有字符的积分之和。我们知道中国人觉得特别喜
欢 6和 9,觉得 6是一个幸运数字,而 9则是一个霸气的数字,毕竟九五 至 尊嘛 ~若一个字
符串的积分既是 6的倍数,又是 9的倍数,则此字符串则为吉利又霸气 的 字符串。现在给
你一个英文名,请你来判断这个英文名是不是吉利又霸气,如果是的,请输出 'Yes ',否
则,请输出 'No '。
【输入格式】
一行,一个字符串,表示要判断的英文名,均为小写字母。
【输出格式】
一行,表示判断结果,如果输入的英文名是吉利且霸气的,则输出 'Yes ',否则,输出
'No '。
【 输入样例 1】
mick
【输出样例 1】
Yes
【输入样例 2】
allen
【输出样例 2】
No
3.
编写一段程序,键盘输入任意的十进制正整数,程序输出与其对应的二进制数。
【输入示例 1】
7
【输出示例 1】
111
【输入示例 2】
10
【输出示例 2】
1010
4.
使用 Python 编写一个算法来确定一个数字是否 “快乐 ”。
快乐的数字按照如下方式确定:从一个正整数开始,用其每位数的平方之和取代该数,
并重复这个过程,直到最后数字要么收敛等于 1且一直等于 1,要么将无休止的循环下去且
最终不会收敛等于 1。能够最终收敛等于 1的数就是快乐的数字。
例如,数字 19 就是一个快乐的数字,计算过程如下:
【输入示例 1】
19
【输出示例 1】
Yes
【输入示例 2】
2
【输出示例 2】
No
5.
小 Y特别喜欢环湖赛跑,因为这样空气非常好,跑起来特别有动力。正值一年一度的
环湖跑王者争霸赛 开始了,小 Y就立刻报名了。比赛主办方在周长为 8000 米的湖周围一
圈设置了 n个夺分点,逆时针编号为 1~n ,每个夺分点的积分不一定相同,每个积分点的
具体位置和积分数量由主办方在比赛开始前公布。比赛规定:参赛者可以选择从赛道的任
意一点出发,只能逆时针跑,需要在 5分钟内尽可能多拿分,只要到达积分点即可得到该
积分点的积分,不同人到达同一积分点均能得到积分,互不影响。经过小 Y自己赛前的反
复测试发现,平均下来,自己比赛时的速度为 3.5 米每秒。请问小 Y以这个速度最多能拿
多少分呢?最多能拿的分和最少能拿的分差多少呢?
【输入格式】
2n + 1 行 ,
2022NOC Python决赛 初中组,2022NOC大赛Python决赛 初中组真题