2022年第20届NOC大赛_Python软件创意编程赛项_选拔赛_小学高年级组真题

2023年06月02日

一、选择题

第 1 题 单选题

世界上第一台计算机的名字是?

A. 埃尼阿克

B. Siri

C. 阿尔法狗

D. 特斯拉

第 2 题 单选题

下列选项中,不能作为计算机的输入设备的是?

A. 键盘

B. 鼠标

C. 普通显示器

D. 摄像头

第 3 题 单选题

下列哪个选项可以作为正确的变量名?

A. 2022NOC

B. print

C. NOC!

D. Huawei

第 4 题 单选题

下面哪个选项能够实现输出变量 a 的值?

print(a = 100)
a = 1000
print(a)

A. 10000 = a

B. input(a)

C. 10 = a

D. print(a)

第 5 题 单选题

以下不是 Python 内置数据类型的是?

A. 数字

B. 字符串

C. 列表

D. 对象

第 6 题 单选题

现在有变量 num = 100.0,数据类型为浮点类型。现在想要让该变量的值变为 100,数据类型为整数类型。以下哪个语句能够实现?

A. num = float(num)

B. num = int(num)

C. float(num)

D. int(num)

第 7 题 单选题

下列哪个选项可以依次表示数字 11、21、31、…、91?

A. range(11, 92, 1)

B. range(1, 91, 10)

C. range(11, 101, 10)

D. range(11, 91, 101)

第 8 题 单选题

现有字符串 s = "international",想要输出单词 nation,正确的做法是?

A. print(s[5:])

B. print(s[5: 11])

C. print(s[6: 10])

D. print(s[6: 11])

第 9 题 单选题

变量 k 的值为 32,变量 z 的值为 6,则以下逻辑表达式中结果为 True 的是:

A. k >= 35 and z == 6

B. k < 8 or z > 6

C. k > z or k == z

D. k >= 45 and z <= 5

第 10 题 单选题

若要输出的列表为[2, 3, 4, 5, 5],则横线上应填写的数字分别是?

list = [1, 2, 3, 4, 5]
list.append(___)
list.pop(___)
print(list)

A. 0, 5

B. 5, 0

C. 1, 5

D. 5, 4

第 11 题 单选题

下列选项中,描述正确的是?

A. 所有程序都必须导入库

B. 导入库时必须使用 import ... as ... 的格式

C. 导入库的语句通常写在所有程序的最前面

D. 导入 turtle 库的正确语句是 import t as turtle

第 12 题 单选题

想要生成 0 到 9 之间的随机整数,选项中正确的是?

A. random.randint(0, 9)

B. random.randint(0, 10)

C. randint(0, 9)

D. random.random(0, 9)

第 13 题 单选题

阅读以下程序,请问程序运行后,最后一个输出的数字是?

for i in range(10, 100):
	if i % 2 == 0:
		print(i)

A. 98

B. 99

C. 100

D. 101

第 14 题 单选题

现在有一段程序如下,请问程序运行的结果是什么?

a = 10
if not 10 > a:
	print(1)
else:
	print(2)

A. 1

B. 2

C. 10

D. 报错

第 15 题 单选题

阅读以下程序,请问程序运行后会输出几个"hello, noc!"?

n = 3
while n < 6:
	print("hello, noc!")
	n = n + 1

A. 0

B. 3

C. 4

D. 7

第 16 题 单选题

阅读以下程序,请问运行结束后会显示什么?

a = 2
b = 4
c = a * b
b * 2
print(b, c)

A. 4 8

B. b c

C. 8 4

D. 8 8

第 17 题 单选题

阅读以下程序,程序输出的结果为?

fruit1 = ['芒果', '车厘子', '草莓']
fruit2 = ['榴莲']
for f in fruit1:
	fruit2.append(f)
print(fruit2[0])

A. 芒果

B. 车厘子

C. 草莓

D. 榴莲

第 18 题 单选题

阅读以下程序,程序输出的结果为?

n = 10
count = 0
while n < 30:
	if n % 5 == 1 or n % 3 == 0:
		count += 1
	n += 1
print(count)

A. 8

B. 9

C. 10

D. 11

第 19 题 单选题

下列程序运行后,显示的图形形状是?

import turtle
for i in range(5):
turtle.forward(50)
turtle.left(90)

A. 正方形

B. 三角形

C. 正五边形

D. 正六边形

第 20 题 单选题

阅读以下程序,请问程序运行后,最后的输出结果是?

numbers = [12, 3, 1, 5, 2, 4, 7, 9, 11, 100]
i = 0
newList = []
while i < len(numbers):
	if numbers[i] % 2 == 0:
		newList.append(numbers[i])
	i += 1
print(newList)

A. [12, 2, 4, 100]

B. [0, 4, 5, 9]

C. [3, 1, 5, 7, 9, 11]

D. [12, 2, 4]

二、编程题

第 21 题 问答题

为了落实国家的防疫政策,某学校要求全体学生每日监测体温。热心的小明同学自告奋勇,想用自己学到的编程知识编写一段程序,根据输入的体温,判断当前的人体健康状态。

已知,人体正常体温平均在 36.0~37.2℃之间(腋窝)。37.3~38.0℃是低烧,38.1~40.0℃是高烧。40.1℃ 以上则体温过高,有生命危险。(如果体温在 36.0℃以下,则不是人类的正常体温)

【输入格式】

一共 1 行,输入表示体温的数字

【输出格式】

共 1 行,输出人体健康状态提示,分别为'正常'、'低烧'、'高烧'、'生命危险'

【输入样例】

36.6

【输出样例】

正常

【预设代码】

t = float(input())
if t >= 40.1:
print('生命危险')

___________:
print('高烧')
elif t >= 37.3:
print('低烧')
elif t >= 36.0: 

_____________________________
else:
print('不是人类的正常体温')

第 22 题 问答题

今年 3 月 12 日是第 44 个植树节,学校组织了全体师生进行植树活动。今年要求,全校植树不少于 500 棵。如果 1 排种 23 棵树,则会剩下 10 棵;如果 1 排种 18 棵,则会剩下 12 棵。请问今年全体师生最少可能种了多少棵树?

【输入格式】

【输出格式】

共一行:

1 个数,表示最少可能种植树木的数量

【预设代码】

n = ________
while True:

if _____________:
print(n)
break
n += 1

第 23 题 问答题

我们定义,如果一个两位数,正好是它个位数字与十位数字之和的整数倍,那么我们就称它为“满分数”。例如,36 是一个满分数,36÷(3+6)=4,正好除尽;而 16 则不是满分数,因为 16÷(1+6)=2……2,有余数。请编写一段程序,输出所有的“满分数”。

【输入格式】

【输出格式】

每个数一行

【预设代码】

for i in range(10, 99 + 1):
	 a = _________
	 b = i % 10
	 if _____________:
	 	print(i)

第 24 题 问答题

说到世界最高峰,几乎所有人都知道答案——珠穆朗玛峰,海拔 8848.86米。但是你知道世界第二高峰是哪座山峰吗,它又有多高呢?height 列表中是世界十大高峰的海拔,请你编写一段程序,找出世界第二高峰的高度。

【输入格式】

【输出格式】

世界第二高峰的高度是 + 高度 + 米

【预设代码】

height = [ 8201, 8586, 8463, 8516, 8172, 8611, 8156, 8848.86, 8091, 8125]
max_1 = height[0]
max_2 = height[0]
for h in height:
if h >= max_1:
max_2 = __________
max_1 = __________
elif _________:
max_2 = h
print("世界第二高峰的高度是", max_2, "米")

第 25 题 问答题

补全代码,输出如图所示图形。

【预设代码】

for i in range( _____ ):
	for j in range(i):
		print("*", end = '')
	print()
for i in range( _____ ):
	for j in range( _____ ):
		print("*", end = '')
	print()

第 26 题 问答题

使用海龟画图工具画出如下九宫格图案,要求:

  1. 整个图案在画面的正中间,即中心点坐标为(0, 0)。

  2. 九宫格由 9 个小正方形组成,每个小正方形边长为 80 像素,整个图案边长为 240 像素。

第 27 题 问答题

动画片中有一个神奇道具,只需 1 滴药水,就可以将物品进行克隆。现在是第 1 分钟,有 1 个汉堡。当使用药水后,从第 3 分钟开始,每 1 分钟都会克隆出一个新的汉堡。每个新汉堡诞生 2 分钟后,也会保持每 1 分钟克隆出 1 个新汉堡。请问经过 10 分钟后,我们一共会拥有多少个汉堡?

提示:

第 1 分钟:1 个

第 2 分钟:1 个

第 3 分钟:2 个(开始第一次克隆)

第 4 分钟:3 个

第 5 分钟:5 个(第 3 分钟新产生的汉堡开始克隆)

【输入格式】

【输出格式】

一个数字,表示汉堡的数量