试卷 2022年NOC大赛Python软件创意编程小学高年级组(选拔赛)真题
2022年NOC大赛Python软件创意编程小学高年级组(选拔赛)真题
单选题
第 1 题    单选题

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

A.

埃尼阿克

B.

Siri

C.

阿尔法狗

D.

特斯拉

第 2 题    单选题

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

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

A.

正方形

B.

三角形

C.

正五边形

D.

正六边形

第 3 题    单选题

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

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

第 4 题    单选题

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

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

芒果

B.

车厘子

C.

草莓

D.

榴莲

第 5 题    单选题

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

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

4 8

B.

b c

C.

8 4

D.

8 8

第 6 题    单选题

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

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

0

B.

3

C.

4

D.

7

第 7 题    单选题

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

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

1

B.

2

C.

10

D.

报错

第 8 题    单选题

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

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

98

B.

99

C.

100

D.

101

第 9 题    单选题

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

A.

 random.randint(0, 9)

B.

random.randint(0, 10)

C.

randint(0, 9)

D.

random.random(0, 9)

第 10 题    单选题

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

A.

所有程序都必须导入库

B.

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

C.

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

D.

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

第 11 题    单选题

若要输出的列表为[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

第 12 题    单选题

变量 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

第 13 题    单选题

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

A.

print(s[5:])

B.

print(s[5: 11])

C.

print(s[6: 10])

D.

 print(s[6: 11])

第 14 题    单选题

下列哪个选项可以依次表示数字 112131...91? 

A.

range(11, 92, 1)

B.

range(1, 91, 10)

C.

range(11, 101, 10)

D.

range(11, 91, 101)

第 15 题    单选题

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

A.

num = float(num)

B.

 num = int(num)

C.

float(num)

D.

int(num)

第 16 题    单选题

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

A.

数字

B.

字符串

C.

列表

D.

对象

第 17 题    单选题

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

A.

print(a = 100) 

B.

a=1000 

print(a)

C.

10000=a 

input(a)

D.

10 = a 

print(a)

第 18 题    单选题

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

A.

2022NOC

B.

print

C.

NOC! 

D.

Huawei

第 19 题    单选题

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

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°C之间(腋窝)。37.3~38.0°C是低 烧,38.1~40.0°C是高烧。40.1°C 以上则体温过高,有生命危险。(如果体温 在 36.0°C以下,则不是人类的正常体温)

【输入格式】

一共 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 题    问答题

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

【预设代码】

for i in range(______):
    for j in range(i):
          print("*", end = '')
    print()
for i in range(_____):
    for j in range( _____ ): 
        print("*", end = '')
    print()
第 23 题    问答题

说到世界最高峰,几乎所有人都知道答案——珠穆朗玛峰,海拔 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, "米")
第 24 题    问答题

我们定义,如果一个两位数,正好是它个位数字与十位数字之和的整数倍, 那么我们就称它为“满分数”。例如,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)
第 25 题    问答题

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

【输入格式】

【输出格式】

共一行:

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

【预设代码】

n = ________
while True:
    if ______:
    print(n)
    break 
n += 1
第 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 分钟新产生的汉堡开始克隆) ...

【输入格式】

【输出格式】

答题卡
单选题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
编程题
题目总数:27
总分数:100
时间:90分钟