NOC Python初赛考题
一、单选题
1.运行以下代码,终端区会出现什么内容?
A:9
B:0
C:25
D:终端区会报错
答案:C
解析:count 函数中有一个参数 a,运行函数时,函数会遍历传入的列表,并且将其中的元
素装进变量 i 中,累加进 result 变量里。
在最后一行代码中,将 num_list 列表作为函数的参数,所以就是将 列表中所有元素都加在
一起,所以最后的结果是 25 。
2.以下关于列表的表述中,错误的是?
A:我们可以使用 == 符号判断两个列表是否相同
B:Python 中的列表可以嵌套,形成二维列表
C:+ 号可以拼接两个列表
D:列表和字符串一样,都是不可变的
答案:D
解析:列表是可变的,元组是不可变的。
3.对于字典 d={'abc':1, 'qwe':2, 'zxc':3}, 现在 len(d) 这个语句的结果是什么呢?
A:6
B:3
C:12
D:9
答案:B
解析:字典的长度也就是键的个数。所以结果是 3 。
4.假设变量 string 中存储着一个字符串"编程竞赛",下面哪段代码可以获得 string 从右到
左的第三个字符呢?
A:string[3]
B:string[-3]
C:string[:-3]
D:string[0:-3]
答案:B
解析:在 Python 中,我们可以通过负数索引,反向获得字符串中的元素,比如说 d[-1] 表
示的就是倒数第一个字符,所以正确答案选 B。
5.以下选项中不是 Python 语言的保留字的是?
A:except
B:do
C:pass
D:while
答案:B
解析:在 Python 中,没有 do 这个关键字。
6.以下选项中不符合 Python 语言变量命名规则的是?
A:I
B:3_1
C:_AI
D:TempStr
答案:B
解析:在 Python 中,变量的开头不能是数字。
7.关于 Python 语言的特点,以下选项描述正确的是?
A:Python 语言不支持面向对象
B:Python 语言是解释型语言
C:Python 语言是编译型语言
D:Python 语言是非跨平台语言
答案:B
解析:Python 是解释型的语言,它可以跨平台工作,也支持面向对象编程。
8.将列表 [1, 3, 0, 4, 2, 6, 5] 进行排序,并将过程中的结果打印如下:
[1, 3, 0, 4, 2, 6, 5]
[1, 3, 0, 4, 2, 6, 5]
[0, 1, 3, 4, 2, 6, 5]
[0, 1, 3, 4, 2, 6, 5]
[0, 1, 2, 3, 4, 6, 5]
[0, 1, 2, 3, 4, 6, 5]
[0, 1, 2, 3, 4, 5, 6]
请问使用的是一下那种排序算法呢?
A:快速排序
B:冒泡排序
C:选择排序
D:插入排序
答案:D
解析:插入排序的基本思想是将一个数据插入一个已经有序的列表中,生成一个新的有序列
表。对一个乱序列表进行插入排序的思路是,遍历列表,依次取出列表中的数据,与前面的
数据一一进行比较,如果比前一个数据小,就交换位置,直到遍历完列表的最后一个数据为
止。
9.random 库用来生成随机数的算法是?
A:平方取中法
B:线性同余法
C:梅森旋转算法
D:蒙特卡洛方法
答案:C
解析:梅森旋转算法是一个伪随机数发生算法,是 random 库的默认伪随机数产生器。
10.下列可以生成词云的库是?
A:jieba
B:wordcloud
C:beautifulsoup4
D:requests
答案:B
解析:wordcloud 是 Python 的一个第三方库,用于生成词云图片。
11.Python 中,用来定义函数的关键字是?
A:return
B:define
C:def
D:function
答案:C
解析:def 是 Python 中用来定义函数的关键字。
12.运行下面这段代码,输出的结果是?
A:
B:
C:
D:
答案:A
解析:type() 函数用于返回对象的类型。
13.代码 print( 10 / 2 == 5.0) 输出的结果是?
A:True
B:False
C:-1
D:0
答案:A
解析:/代表除法运算,除法运算的结果是浮点数。所以 10/2 结果是 5.0。
14.执行 for i in range(5) 的循环,i 的值分别是多少?
A:1 2 3 4 5
B:0 0 0 0 0
C:5 5 5 5 5
D:0 1 2 3 4
答案:D
解析:range() 函数可用于创建一个整数列表,只传入一个参数时,生成的整数列表会从 0 开
始,依次递增 1 ,整数列表的长度就是传入的参数。 range(5) 会返回 [0, 1, 2, 3, 4] 。
15.多分支使用的关键字是?
A:if
B:if-else
C:if-elif-else
D:else
答案:C
解析:单分支使用的关键字是 if ,二分支使用的关键字是 if-else ,多分支使用的关键字是
if-elif-else 。
16.下列条件中,可以判断变量 a 等于变量 b 的条件是?
A:a = b
B:a >= b
C:a == b
D:a != b
答案:C
解析:在 Python 中,一个等号表示赋值,两个等号会判断相等。
17.下列选项中,数据类型是浮点型的是?
A:'7.0'
B:7
C:7.0
D:'7'
答案:C
解析:在 Python 中,浮点型由整数部分与小数部分组成。‘ ’用单引号或者“ ”双引号
包裹起来的是字符串类型。
18.程序如下:
try:
number = int(input("请输入数字:"))
print("number:",number)
except Exception as e:
print("打印异常详情信息: ",e)
else:
print("else")
finally:
print("finally")
print("end")
我们输入内容“z2”,控制台打印的结果是:( )
A:number: 2
else
finally
end
B:number: 2
end
C:打印异常详情信息: invalid literal for int() with base 10:
finally
end
D:打印异常详情信息: invalid literal for int() with base 10:
else
finally
end
答案:C
解析:我们可以使用 try 和 except捕获异常并处理异常。输入的内容不是数字,会直接触发
except语句。但是并不会进行 else 的判断 finally 是不管什么情况,都会执行里面的代码程序
正常顺序运行,也会执行打印 end 的代码。
19.在 Python 中交换 a 和 b 的值,可以怎么做呢?
A:a = b, b = a
B:a, a = b, b
C:a, b = a, b
D:a, b = b, a
答案:D
解析:在 Python 中,可以使用等号给多个变量赋值,从而实现变量值的交换。在等号两边
的值是一一对应的,在 A 答案中,先把 b 的值赋值给了 a,再把 a 中的值赋值给 b,这
里它们两的值都是 b。在 B 答案中,两次都将 b 的值赋值给 a,无法实现效果。在 C 答
案中,将 a 赋值给 b,将 b 赋值给 b,没有变化,也无法实现效果。
20.如果用外循环 for j in range(count) 代表冒泡排序比较的轮次,那么内循环 for i in range()
应该每轮比较多少次呢?
A:i
B:count
C:i - j
D:count - j
答案:D
解析:外循环代表一共比较多少轮,这个数是列表的个数减一,内循环代表每轮比较的次数,
随着比较的轮次增大,比较的次数逐渐减小,每轮应该比较 count - j 次。
21.下面哪个函数可以求出列表的个数 ?
A:str()
B:int()
C:len()
D:set()
答案:C
解析:len() 函数用于计算列表的长度,str() 用于将数据转换为字符串,int() 用于将数据转
换为整型,set() 用于将数据转换为集合。
22.运行以下代码后,程序打印的最大结果可能是?
A:12
B:13
C:16
D:17
答案:D
解析:random.choice() 函数的作用是随机选择一个元素,列表 nums 最大的值为 12;
random.randint(a, b) 函数的作用是生成一个范围在 a <= n <= b 的随机整数,最大值可能是 5;
所以打印的最大结果就是 5 + 12 = 17。
23.运行以下代码后,程序打印的结果是?
A:6
B:6.5
C:10
D:10.66
答案:A
解析//符号的作用是进行取整除, num2 // num1 = 1 ;% 符号的作用是计算两个数相除的
余数,num2 % num1 = 5,相加的结果就为 6 。
24.【赛事真题】
运行下方代码段,输出的结果是( )。
A:
B:
C:
D:
答案:A
解析:当程序在执行 for i in range(1, 5) 的时候,循环变量 i 的值依次是 1、2、3、4,小海
龟会画出 4 个圆,而小海龟初始方向是朝着右边,逆时针画出的圆应该是 A 选项中的造
型
25.运行这段代码,终端区会出现什么内容呢?
A:
B:
C:
D:
答案:A
解析:程序在执行 for i in range(5) 的时候,循环变量 i 的值是 0、1、2、3、4,因此 - i * 2
的值是 0,-2,-4,-6,-8
26.这里有一个二维列表,运行以下代码,终端区会出现什么内容?
A:'菠萝', '香蕉', '西瓜'
B:'苹果'
C:['桃子', '苹果', '芒果']
D:['菠萝', '香蕉', '西瓜']
答案:D
解析:这是一个二维列表,在列表中还装着两个小列表,我们取出编号 1 的元素,那就是
第二个列表,打印出来是一个列表 ['菠萝', '香蕉', '西瓜']。
27.如果要判断一个变量 lcm 是不是 num1 和 num2 的公倍数,判断条件可以怎么写?
A:
B:
C:
D:
答案:C
解析:根据公倍数的概念,如果一个数字即是 num1 的倍数又是 num2 的倍数,则该数就
是这两个数字的公倍数,需要使用到取余运算符来进行判断。
28.下面的说法中,正确的是?
A:break 语句只能用来停止 for 循环
B:break 语句可以中断所有程序的运行
C:break 语句可以用来中断循环的语句
D:break 语句无法中断 while 语句
答案:C
解析:break 语句是用来中断循环语句的运行的,没法中断所有程序的运行哦。
29.运行以下代码,终端区会出现什么内容?
A:晚安,依古比古
晚安,依古比古
B:晚安,依古比古
晚安,依古比古
晚安,依古比古
C:晚安,依古比古
晚安,依古比古
晚安,依古比古
晚安,依古比古
D:晚安,依古比古
晚安,依古比古
晚安,依古比古
晚安,依古比古
晚安,依古比古
答案:D
解析:逻辑运算符 or 连接两个条件时,只要其中一个条件成立,整个表达式就成立,所以
在 b 是 0 、1、2、3、4 的时候,都会打印内容,直到 b = 5,,此时 a 也是 5,两个式子
都不成立,循环就会结束。
30.运行以下代码,终端区会出现什么内容?
A:重复打印无数次【晚安,玛卡巴卡】
B:终端区什么都不会打印
C:只打印一次【晚安,玛卡巴卡】
D:重复打印 100 次【晚安,玛卡巴卡】
答案:B
解析:while后面的条件不成立,程序不会重复执行下面的代码
31.下面的语句中,哪个可以在终端区中打印出 True 呢?
A:print( 12 >= 56 )
B:print( 123 > 3 and 55 == '55')
C:print( 3 >= 5 )
D:print(123 > 3 or 55 == '55')
答案:D
解析:and 语句是两个条件同时成立时,结果才是 True。or 语句是两个条件只要有一个成
立,结果就是 True,所以最后的结果选 D。
32.运行这段代码,终端区会出现什么样的内容呢?
A:111
B:222
C: 111
222
D:什么都不会出现
答案:B
解析第一个条件 10 > 11 不成立,不会打印 111,第二个条件 20 < 30 成立,会打印出 222
33.下面的说法中,哪个是错误的?
A:and 语句表示的是两个条件同时成立才算成立
B:or 语句表示的是两个条件中只要有一个成立就算成立
C:and 语句和 or 语句都可以将两个条件连接起来
D:and 语句和 or 语句只能单独使用,不能混在一起用
答案:D
解析:在 Python 中,我们可以将逻辑运算符结合起来使用,比如说 1 > 2 and 5 > 6 or 4 > 3,
需要注意的是,和运算符一样,逻辑运算符也有优先级,and 的优先级就比 or 的高,所以
我们会先判断 and 连接的两个语句,之后再判断 or 连接的语句。
34.以下程序的输出的 CSV 文件里,存储的内容是:( )
file = open('text.csv','w')
list =[ [90,87,93],[87,90,89],[78,98,97]]
b = []
for i in list:
for j in i:
b.append(str(j))
file.write(','.join(b))
file.close()
A:[90,87,93,87,90,89,78,98,97]
B:90,87,93 87,90,89 78,98,97
C: [[90,87,93], [87,90,89], [78,98,97]]
D:90,87,93,87,90,89,78,98,97
答案:D
解析:通过嵌套的 for 循环。取出了二维列表里面的每一个数字再使用 join 函数,可以把一
个列表拼接成一个字符串。并且每个元素之间都有一个“,”号
35.在 pygme 游戏设计中,检测两个矩形是否碰撞的方法是
A:colliderect()
B:collidepoint()
C:collidelist()
D:collidedict()
答案:A
解析:colliderect() 用于检测 两个图形对应的 rect 是否重合;collidepoint() 用于检测 一
个 rect 是否包含 点 ,输入的参数为 点的坐标值。
36.在 pygame 中,调整游戏画面帧数为 30 帧每秒的正确选项是
A:
clock = pygame.time.Clock()
clock.tick(300)
B:clock = pygame.time.Clock()
clock.tick(30)
C:clock = pygame.time.Clock()
clock.update(30)
D:clock = pygame.time.Clock()
clock.display(30)
答案:B
解析:clock = pygame.time.Clock()
clock.tick(30)
调整游戏画面的刷新次数为每秒 30 帧,但是实际显示中取决于各种因素的限制,比如电
脑性能或显示器性能。
37.运行下方代码段,输出是( )。
A:
B:
C:
D:
答案:A
解析:在 draw_rect() 函数中,小海龟是左转的,因此画出的这正方形会在小海龟的右上方,
我们可以排除 BC 选项。
在执行 for i in range(4): 时,循环变量 i 依次是 0 、1 、2、3,所以画出的正方形会一个
比一个大,但因为第一次是 0 ,就不会画出正方形,因此最终我们看到的只有三个正方形
才对。
38.在 animal_list = [['狮子', '老虎'], ['河马', '大象'], ['斑马', '长颈鹿']]
这个二维列表中,以下哪句代码可以取出'斑马'这个元素?
A:animal_list[4]
B:animal_list[1][1]
C:animal_list[2][1]
D:animal_list[2][0]
答案:D
解析:首先,我们可以判断,'斑马'在第 3 个一维列表中, 那么就可以用 animal_list[2] 获
取第三个一维列表,接着,可以发现'斑马'是这个列表的第一项,那么索引就是 0,因此,
选 D
39.用割圆法绘制一个有 n 条边的正多边形时每次应旋转的角度是
A:180 / n
B:n
C:90
D:360 / n
答案:D
解析:割圆法模拟画圆,画边数为 n 的正多边形需要旋转 n 次转完一周,每次旋转的度数
就是 360 / n。
二、多选题
1.以下哪个 while 循环的使用方法是正确的?
A:while 5 > 3:
B:while num > 3:
C:while True:
D:while :
答案:ABC
解析:D 选项中没有设置条件,其他的都正确的设置了条件。
2.哪个选项对 turtle.done()的描述是正确的?
A:turtle.done()是用来隐藏 turtle 绘制画笔
B:turtle.done()用来停止画笔绘制
C:turtle.done()是用来在绘画结束后,保持绘画的窗口不关闭的
D:我们必须要在程序的最后写上 turtle.done(),不然程序运行会报错
答案:BC
解析:turtle.done() 语句可以让画笔停止绘制,但是窗口不会关闭。一般我们会把这个语句
放在程序的最后,让我们能够看到程序最后的绘制结果。
3.关于 Python 的 lambda 函数,以下选项中描述正确的是?
A:lambda 用于定义简单的,能够在一行内表示的函数
B:可以使用 lambda 函数定义列表的排序原则
C:f = lambda x,y:x+y 执行后,f 的类型为数字类型
D:lambda 函数将函数名作为函数结果返回
答案:ABD
解析:f = lambda x,y:x+y 执行后, f 的类型是 function 。
4.现有 PAI = 3.1415926 作为浮点数变量,下列代码可以将 PAI 保留三位小数并输出的是?
A:print(f"{PAI:.5f}")
B:print(f"{PAI:0.3f}")
C:print(round(PAI, 3))
D:print(round(PAI))
答案:BC
解析:将浮点数小数点后保留三位数有两种方法,一种是字符串格式化,一种是 round() 函
数。
5.运行下面这段代码,输出的结果是?
A:抽中的随机数是 1,今天是星期一
B:抽中的随机数是 2,今天是星期三
C:抽中的随机数是 5,今天是星期六
D:抽中的随机数是 7,今天是星期七
答案:AD
解析:随机数的范围是 1 - 7 ,可能抽中的数字范围也是 1 - 7 ,字符串格式化的第二个变
量会取字典中对应值,所以数字和星期是一一对应的。
6.以下表达式的值为 True 的是?
A:5 + 3 < 10
B:3 > 2 == 2
C:a - 5 > 5
D:4 == '4.0'
答案:AB
解析:选项 C 中的变量 a 没有进行赋值,无法判断;选项 D 中,4 是整型,'4.0' 是字符
串,不相等。
7.在下列选项中,描述正确的有( )
s = input()
a = [s]
print(len(s) == len(a))
A:当输入字母'a',打印出 True
B:当输入字母'a',打印出 False
C:当输入字母'abc',打印出 True
D:当输入字母'abc',打印出 False
答案:AD
解析:当输入‘a’,列表 a 就变成了 ['a'],len('a') 就是 1,len(['a'])也是 1。结果是 True。当输
入‘abc’,列表 a 就变成了 ['abc'],len('abc') 就是 3,len(['abc'])还是 1。结果是 False
8.下面属于 Python 中的保留字的有哪些
A:class
B:true
C:self
D:break
答案:AD
解析:在 Python 的保留字中,True,False,None 首字母需要大写。self 不是保留字。
9.如果使用列表创建栈,需要用到的列表方法有
A:append()
B:insert()
C:index()
D:pop()
答案:AD
解析:
10.在下面这段程序中,其中 k 取什么值时,x 的值是 3。
if k<=10 and k>0:
if k >5:
if k>8:
x=0
else:
x=1
else:
if k>2:
x=3
else:
x=4
A:3
B:4
C:5
D:6
答案:ABC
解析:当 k<=5 并且 k>2 的时候,x 的值是 3。所以 k可以是 3,4,5
11.现在有一个字符串 s = 'abc123def',以下代码中能正确获得值 abc12 的代码有?
A:print(s[0:5])
B:print(s[:5])
C:print(s[:-4])
D:print(s[:-4:2])
答案:ABC
解析:选项 D,打印的结果为 ac2。字符串的索引从第一个元素,也就是 0 开始增大。
从最后一个元素,也就是-1 开始减小。
12.下列属于比较运算符的有
A:>
B:<
C:=
D:!=
答案:ABD
解析:了解 python 比较运行算符: > 、< 、==、 != 、>= , =<
13.使用代码计算列表 maze 中有多少个 "1",代码正确的是
maze = [
[1,1,1,1,1,1,1,1,1],
[1,0,1,0,0,0,0,0,1],
[1,0,1,1,0,1,1,1,1],
[1,0,0,0,0,1,0,0,1],
[1,0,1,1,0,1,0,1,1],
[1,0,0,1,0,0,0,0,1],
[1,1,0,1,0,1,1,1,1],
[1,0,0,1,0,0,0,0,1],
[1,1,1,1,1,1,1,1,1],
]
A:count = 0
for i in maze:
for j in i:
count += j
print(count)
B:count = []
for i in maze:
count.append(sum(i))
print(sum(count))
C:count = sum(maze)
print(count)
D:count = []
for i in maze:
count.extend(i)
print(sum(count))
答案:ABD
解析:求解思路 :
1、 使用嵌套循环遍历所有元素,依次累加求和;
2、 使用 sum() 函数 , 首先对内部的列表求和 ,变成一维列表后,在使用 sum() 函数求
和计算 ;
3、 使用 extend() 函数将列表拼接为一维列表,使用 sum() 函数求和计算;
14.以下选项中,处理多个异常的代码,正确的有哪些?
A:try:
pass
except (ValueError、IndexError) as err:
print('Error: {}'.format(err))
print('continue')
B:try:
pass
except (ValueError, IndexError) as err:
print('Error: {}'.format(err))
print('continue')
C:try:
pass
except ValueError as err:
print('Error: {}'.format(err))
except IndexError as err:
print('Error: {}'.format(err))
print('continue')
D:try:
pass
except ValueError, IndexError as err:
print('Error: {}'.format(err))
print('continue')
答案:BC
解析:多个异常,可以在一层像 B 选项一样,用逗号隔开括号括起来捕获;也可以像 C 选
项一样,分 2 次分开捕获。
15.对列表 m 与 列表 n 相同索引位置的元素求和。以下选项中正确的有?
m = [1,2,3]
n = [4,5,6]
A:res = []
for i in range(len(m)):
res.append(m[i]+n[i])
B:import numpy as np
res = (np.array(m) + np.array(n)).tolist()
C:res = m + n
D:无正确答案
答案:AB
解析:选项 A,正确
使用 for 循环进行计算,并将结果添加到列表中
res = []
for i in range(len(m)):
res.append(m[i]+n[i])
选项 B,正确
可以使用 numpy库,把列表转换为 narray 类型直接进行运算
res = np.array(m) + np.array(n)
print(res)
# 输出为: array([5, 7, 9])
# 转换为列表类型
print(res.tolist())
# 输出为: [5, 7, 9]
选项 C,错误
列表使用 "+" ,不是用于列表对应元素相加,而是用于列表的拼接
print(m+n)
# 输出元素为 L:[1, 2, 3, 4, 5, 6]
16.字典内元素由哪两部分组成
A:键
B:值
C:变量
D:整数
答案:AB
解析:字典内元素由键和值两部分组成,键必须是唯一的,但值则不必。
17.以下能够与 if 语句搭配使用的是
A:else if
B:elseif
C:else
D:elif
答案:CD
解析:选项 A、选项 B,在 Python 中没有这样的语法。
18.下列选项中,描述正确的是
A: / 在代表运算中代表取整数。
B:关系运算符中 == 代表数学中的等号。
C:逻辑运算符中,“与”运算时“有 0 为 0,全 1 为 1”。
D:关系运算符中的输出结果是以 bool 形式出现,为 True 和 False。
答案:BC
解析:/ 在运算中代表取除法运算,// 在运算中代表向下取接近商的整数。
19.下列属于 python 保留字的是
A:if
B:for
C:where
D:import
答案:ABD
解析:‘where’ 不是 Python 中的保留字。
20.下列变量名正确的是
A:a bc
B:_1abc
C:a1bc
D:1abc
答案:BC
解析:变量名可以包括字母、数字、下划线,但是数字不能做为开头,并且标识符不能包含
空格。
三、判断题
1.表达式 78 == '78' or '上' in '天天向上' 的结果是 True。
答案:正确
解析:使用 or 逻辑运算符连接两个条件,可以组合成新的条件,只有当两边的条件都成立
时,这个新的条件才成立,第一个条件中,整数类型 78 和字符串 '78' 是不相等的。第二
个条件中,只有当后面的字符串中,包含上字时才会成立,这个也是成立的,所以整个条件
成立。
2.Python 变量名区分大小写,所以 student 和 Student 不是同一个变量。
答案:正确
解析:Python 变量名是区分大小写的。
3.Python 标准库 random 的方法 randint(m,n)用来生成一个[m,n]区间上的随机整数。
答案:正确
解析:random.randint() 的参数就是用来控制随机数的范围。
4.Python 字典中的“键”不允许重复。
答案:正确
解析:Python 中确实不允许两个键的值完全相同。
5.函数是代码复用的一种方式。
答案:正确
解析:在 Python 中,我们可以将一段代码创建成一个函数,调用这个函数,就可以多次使
用这段代码。
6.使用 input() 语句可以直接获得整数类型的数字。
答案:错误
解析:input 语句的结果,是字符串类型的,如果我们想要获得用户输入的数字,需要使用
int 语句进行类型转换。
7.条件判断语句可以让程序根据不同的情况做不同的事情
答案:正确
解析:根据条件是否成立,我们可以使用条件判断语句 if...elif...else... 运行不同部分的代码。
8.在 name = '小明' 这句代码中,name 是变量的内容。
答案:错误
解析:在这句代码中,name 是变量的名字,而 '小明' 这个字符串是变量的内容。
9.执行语句 from random import seed 之后,可以直接使用 randint() 函数。
答案:错误
解析:from random import seed 是精准导入的方式,导入的是 seed()函数,没有导入 randint()
函数。因此不能直接调用。
10.in 是 Python 中的逻辑运算符。
答案:错误
解析:in 是 Python 中的成员运算符,它的返回结果是布尔值。
11.12 / 2 的运算结果是 6 。
答案:错误
解析:/ 是除法运算法,除法运算的结果一定是浮点数。
12.101"这个内容在 Python 是一个字符串。
答案:错误
解析:在 Python 语言中,使用一对单引号或者双引号,包裹起来的变量数据类型就是字符
串。不能使用一个单引号一个双引号。
13.在 Python 中,1_food 是一个合法的变量名。
答案:错误
解析:在 Python 中,变量名:
1、只能是:数字,字母组成,不可以是空格或特殊字符,如:(#?。,¥$*~!&)等
2、不能以数字开头
3、不能使用保留字,如 and、for 等
14.4.0 和 4 在 Python 中是同一种数据类型。
答案:错误
解析:在 Python 中,4 是整型,4.0 是浮点型,不是同一种数据类型。
15.KMeans(n_clusters=3)中参数 3 的含义是将数据划分为 3 类。
答案:正确
解析:在 KMeans 算法中, n_clusters 中 cluster 就是类、簇的意思,参数的含义就是将数
据分为几类, 这里参数的含义就是将数据分为 3 类。
16.count() 函数可以用来统计指定元素在列表中出现的次数
答案:正确
解析:1、ount() 方法用于统计字符串里某个字符或子字符串出现的次数。
2、count() 方法用于统计某个元素在列表中出现的次数。
17.运行程序段
num = input()
print(num+3)
当输入数字 10,输出结果为 13。
答案:错误
解析:当输入 10,input 函数会返回字符串'10'字符串和整型不能直接相加,程序报错
18.正则表达式的字符 \d 与 \D 表示相同的含义
答案:错误
解析:在正在表达式中,\d 表示匹配数字,\D 表示匹配非数字。
19.在 Scratch中,不能编写演奏音乐的程序。
答案:错误
解析:在 Scratch 中,可以通过添加拓展,选择添加音乐模块,从而编写演奏音乐的程序。
20.以下代码
def my_func4(l2):
l2 = l2 + [4]
l1 = [1, 2, 3]
my_func4(l1)
print(l1)
运行结果是
[1, 2, 3,4]
答案:错误
解析:这里 l2 = l2 + [4],表示创建了一个“末尾加入元素 4“的新列表,并让 l2 指向这个
新的对象。这个过程与 l1 无关,因此 l1 的值不变
21.鸡兔同笼问题中,总头数 10,总脚数有可能是 44
答案:错误
解析:在全是兔子的情况下,总头数 10,总脚数才 40,不可能超过 40NOC 图形化 初赛考题
一、单选题
1.下面这段代码运行结束后,角色的造型应该为?
cat-a
cat-b
cat-c
cat-d
答案:B
解析:程序运行后,角色的造型先设为了 cat-a,等待一秒后,造型切换为了 cat-b 。所以
最后角色的造型应该为 cat-b 。选项 B 正确。
2.下列选项中哪个语句和【将造型切换为】一样可以实现切换角色的造型的效果呢?
A.
B.
C.
D.
答案:A
解析:A 选项,当【下一个造型】语句运行后,角色造型会切换为下一个造型,和【将造型
切换为】语句一样实现了切换角色的造型的效果;
B 选项,当【将背景切换为】语句运行后,会将目前的背景切换为指定的背景,不是切换角
色的造型;
C 选项,当【下一个背景】语句运行后,会将目前的背景切换为下一个背景,不是切换角色
的造型;
D选项,当【将大小增加】语句运行后,是将角色目前的大小增加,不是切换角色的造型。
故此题答案为 A。
3.在 Scratch 中有一种指令,它可以实现两个角色之间传递消息,A 角色完成动作后,B 角色
便知道 A 已完成,于是 B 角色开始动作,这个指令是()?
A.
B.
C.
D.
答案:B
解析:广播指令是用于两个角色之间传递消息。
4.下面哪个【编号】变量一定是按钮角色的私有变量?
A.
B.
C.
D.
答案:D
解析:A 选项和 B 选项只能看出来它是变量,但不能确定是不是私有变量;
C 选项和 D 选项的区别是,D选项的编号前有按钮这个角色名加冒号。根据私有变量的特点,
D选项可以确定是私有变量。
5.对下面这段代码描述正确的是?
A:这段代码模拟了触碰放大的效果
B:角色的大小会一直设为 105
C:当绿旗被点击后,这段代码只会执行一次
D:角色的大小会一直设为 100
答案:A
解析:这段代码模拟了触碰放大的效果。当绿旗被点击后,程序会不停地执行,判断角色是
否碰到了鼓槌,如果碰到了,就将角色的大小设为 105 ,否则就将角色的大小设为 100 。
所以正确答案是 A 。
6.下面哪个语句可以删除克隆体?
A:
B:
C:
D:
答案:D
解析:A 选项是控制克隆体的语句;
B 选项是克隆孙小弟这个角色;
C 选项是克隆角色自己;
D选项可以删除克隆体;
根据题目要求,D 选项正确。
7.为角色编写这段代码,运行后,主体和克隆体的大小分别是多少呢?
A:主体大小为 100,克隆体大小为 100
B:主体大小为 100,克隆体大小为 150
C:主体大小为 150,克隆体大小为 100
D:主体大小为 150,克隆体大小为 150
答案:C
解析:点击绿旗后主体的大小为 100,克隆自己,大小设置为 150,因此主体大小为 150。
克隆体生成时,主体大小为 100,因此克隆体大小为 100。C 选项正确。
想要让一个角色在舞台区中出现多个相同的自己,要用到什么知识呢?
A:广播
B:变量
C:克隆
D:条件判断
答案:C
解析:A 选项中,广播指令是一个角色发出广播,另一个角色接收广播,并不能出现多个角
色;
B 选项中,变量可以记录信息或数据,并不能出现多个角色;
D选项中,条件判断可以让角色进行判断,条件是否成立,并不能出现多个角色;
C 选项可以生成相同的自己,因此 C 选项正确。
9.下面哪段代码可以实现【按下左键】,角色就【向左旋 15 度】?
A:
B:
C:
D:
答案:B
解析:程序可以通过【按下左键】语句来侦测左键是否被按下,向左旋转使用【向左旋转度
数】语句。
10.想要让角色一直不停地移动,应该用下面哪段代码呢?
A:
B:
C:
D:
答案:B
解析:A 和 C 选项都只能让角色移动一段距离哦;D 选项:这段分代码 是让角色不停地
旋转,不是移动哦;我们需要让程序【不停地】执行【向前运动】的代码,使用【重复执行】
和【移动步数】语句,就可以让角色不停地移动了,所以选项 B 正确。
11.执行完图中程序后,舞台上会出现( )个孙小弟。
A:0
B:1
C:2
D:3
答案:C
解析:孙小弟本体隐藏,盖下第 1 个图章,移动 100 步,盖下第 2 个图章,移动 100 步,盖
下第 3 个图章,移动 100 步;所以舞台上会有 3 个孙小弟。
12.运行以下脚本后,角色坐标是
A:(-30,-70)
B:(-40,-80)
C:(-30,-90)
D:(-50,-70)
答案:C
解析:角色的初始坐标为(-50,-90),面向 90 方向,也就是面朝右边,移动 10 步,重复
两次,y 坐标没变,还是-90,x 坐标-50+20=-30,所以答案选 C。
13.图中脚本运行后形成的图形是
A:五角星
B:三角形
C:正方形
D:五边形
答案:C
解析:角色重复执行 4 次“移动 10 步右转 90 度”后,绘制出正方形的四条边,第 5 次“移动
10 步右转 90 度”,和第一次绘制的边重合。
14.在 Scratch中,下图指出的方向是多少度?
A:90 度
B:180 度
C:0 度
D:-90 度
答案:D
解析:A:90 度时箭头指向右;B:180 度时箭头指向下; C:0 度时箭头指向上;D:-90 度
时箭头指向左
15.下图中指令的作用是
A:修改角色的造型
B:修改角色的大小
C:修改角色的颜色
D:修改角色的显示/隐藏状态
答案:B
解析:可以在该指令中填入数字来改变角色的大小。
16.对这两个程序说法不正确的是。
A:程序运行的总时间不同
B:播放声音和移动两个指令的执行顺序不同
C:两个程序播放音乐的时间不同
D:两个程序中角色移动的长度相同
答案:C
解析:两段程序主要区别是“播放声音”指令不同,第一个是边播放边行走,第二个是等待声
音播放完毕才执行后面的移动语句,所以程序执行的总时间就不同,但是角色移动的长度相
同,播放声音和移动两个指令的执行顺序也就不相同,但是播放声音的时间都是播放一次,
时间是相同的。
17.看,前方有一个苹果,想一想,下面哪段程序能帮助 Giga 拿到它呢。
A:
B:
C:
D:
答案:D
解析:苹果在 Giga 的右上方,要综合考虑角色【面向的方向】和【数值的正负】,最后的
移动方向应该是向右和向上,因此只有选项 D 正确。
18.指令执行后,下面哪一条指令可以让用户向程序中输入信息。
A:
B:
C:
D:
答案:A
解析:Scratch程序在执行时,可以通过【询问 等待】指令可以向程序中输入信息。
19.要使 Scratch中的角色在舞台上绘图,应选用下列哪一组指令?
A:清空并抬笔
B:落笔并移动 10 步
C:将画笔颜色设定为 0
D:将画笔粗细增加 1
答案:B
解析:使用 Scratch进行绘图需要先将画笔落笔后,进行移动。
20.Scratch 的背景中,没有下列哪种类别的指令?
A:运动
B:外观
C:声音
D:画笔
答案:A
解析:Scratch 的舞台设与角色有很多区别。其中最大的区别就是舞台不会动,虽然有运动
区的标签,但是里面没有指令。
21.运行下面这段程序后,舞台区会出现多少个角色。
A:0
B:3
C:6
D:9
答案:D
解析:这段程序中,角色一共克隆了自己 9 次,本体是隐藏的,克隆体启动时会显示出来,
所以舞台区一共有 9 个角色。
22.执行下列脚本,角色会运行哪一部分的代码?
A:数字 1 代表的成功代码
B:数字 2 代表的失败代码
C:都不运行
D:都运行一次
答案:A
解析:20*50 除以 3 的余数计算出来的结果是 1,而参数时间的值是 10,因为 10>1 所以判
断条件成立,会执行成功这个部分的代码,故这道题的正确答案是 A。
23.这段程序运行后,舞台区的运行效果可能是()?
A:
B:
C:
D:
答案:A
解析:当程序运行后会克隆自己,但是每次克隆时本体的方向都是 90,所以所有克隆体都
只旋转了 60 度,故这道题的正确答案是 A。
24.点击绿旗,代码开始运行,当用户输入 2 时,变量【数字】最后的数值是多少呢?
A:0
B:1
C:2
D:3
答案:C
解析:分析代码可知,变量【数字】的初始值是 0,当用户输入的值是 2,满足判断条件,
会执行将变量【数字】+ 1 的指令,变量变为 1,继续向下执行,再将变量增加 1,变量变为
2。
25.分析这段代码,最后实现的效果图是什么样子的呢?
A:
B:
C:
D:
答案:D
解析:分析这段代码,重点关注重复执行内的指令,画笔从(0,0)位置开始,落笔后,先
移动 100 步,留下一条直线,接着抬笔,右转 15 度,再回到(0,0)点,这段代码没有留
下痕迹,然后落笔,继续移动一条直线,如此重复,每转动 15 度,画出一条直线,最后形
成的图案就是选项 D。
26.点击绿旗代码开始执行后,几秒角色会说“你好!”?
A:1
B:4
C:6
D:永远不会说
答案:C
解析:分析这段代码,点击绿旗开始,先等待 1 秒,接着初始化变量【数字】=5,再等待【数
字】秒,由于变量【数字】中的值是 5,所以会等待 5 秒,然后说出“你好”,因此一共等待
了 1+5=6 秒。
27.运行结束后舞台区和角色代码如下图所示,请问角色的旋转中心是以下哪个选项?
A:
B:
C:
D:
答案:C
解析:从题目中的代码知道,最终图案是由单个椭圆形旋转而成的,从最终图案的构成分析,
整个图形的中心就是椭圆的旋转中心,与之最接近的选项就是 C。
28.运行下图程序代码,画笔画出的几何图形是( )?
A:正方形
B:三角形
C:圆形
D:十边形
答案:C
解析:从落笔之后的代码可以看出,重复执行 360 次,每次转动 1 度,移动 1 步,完成后就
是 360 边形,但是由于边太小,整体看上去更接近一个圆形。
29.按下键盘空格键,执行完程序后,角色的大小为
A:80
B:100
C:130
D:150
答案:C
解析:角色的初始大小为 80,重复执行 10 次增加 10,80+10*10=180;重复执行 5 次增加-10,
180-5*10=130,答案选 C。
30.当角色执行下图程序后,描述正确的一项是?
A:当前的时间(小时)如果小于 12,那么角色就换成下午的造型
B:当前的时间(小时)如果大于 12,那么角色就换成上午的造型
C:当前的时间(小时)如果等于 12,那么角色就换成下午的造型
D:以上都不正确
答案:C
解析:题目程序中的判断为“如果当前的小时小于 12”,如果满足该条件就换成上午造型,
否则换成下午造型,当时间等于 12 的时候,是不满足“如果当前的小时小于 12”的条件的,
所以换成下午造型,C 正确。
31.当绿旗点击后,角色的大小是多少?
A:110
B:100
C:90
D:120
答案:C
解析:大小的初始值是 20,首先判断 4*6>3*7 吗?满足,将大小减少 10 目前大小为 90,
进入第二个判断,40/8>6 吗?不满足,程序结束。所以角色的大小为 90,故这道题的正确
答案是 C。
32.点击绿旗运行程序,输入的数字是什么的时候,角色会说你好?
A:10
B:13
C:23
D:4
答案:C
解析:分析程序可以得知,角色说你好的条件是 回答>5,回答>20,所以这道题的正确答案
是 C。
33.下列选项中对该段代码解释正确的是?
A:9 以内的所有奇数的和
B:9 以内所有偶数的和
C:8 以内所有奇数的和
D:8 以内所有偶数的和
答案:C
解析:变量初始值为 9 。 重复执行 9 次,并且执行过程中先将变量 i 减少 1,所以判断的
是 8 以内的所有符合条件的数值和。 条件为判断数值除以 2 余数是否为 1,即判断是否为
奇数。
34.运行下面这段脚本,运行结束后画笔的粗细为?
A:1
B:50
C:30
D:29
答案:D
解析:正确答案是 29。开始运行后,先把变量【画笔粗细】设置为 0,再把画笔的粗细设
置为 1,接着重复执行将【画笔粗细】的数值增加 1,直到【画笔粗细】的数值大于 50,
重复执行的过程中会判断,【画笔粗细】是否小于 30,如果是的话,就将画笔的粗细设置
为【画笔粗细】的数值。所以程序中【画笔粗细】在增大到 30 之前都会不断地增大画笔的
粗细,当【画笔粗细】到达 30 的时候就不会再设置画笔的粗细了,所以画笔的粗细会停在
29,之后【画笔粗细】会持续增大到 51,程序就会停止运行。所以最终画笔的粗细为 29。
35.点击绿旗,执行图中代码,最终得到的变量值是
A:1
B:11
C:10
D:0
答案:B
解析:“我的变量”初始值为 10,程序执行,先运行的判断语句是判断“我的变量”是否大于 9,
10 大于 9,将“我的变量”增加 1 变为 11;接着向下运行判断“我的变量”是否等于 10,11 不
再等于 10,判断条件内的语句不再执行,所以变量的最终值是 11。
36.下面的程序可以将输入的字符串反转,看看下面的分析,你觉得哪个是正确的呢?
A:字符串反转就是把原来的字符串中字符的顺序颠倒
B:变量【i】的初始值应该是 0
C:循环体中【连接】指令的前后两个数据可以调换位置
D:重复执行的次数需要再加 1
答案:A
解析:变量【i】初始值如果为 0,第一次进入到循环体中,会操作第 0 个字符,是不存在的,
因此选项 B 错误,如果调换【连接】指令的前后两个数据,就会导致字符串没有反转,选项
C 错误,重复执行的次数如果加 1,会超出字符串的长度,选项 D 也是错误的.
37.角色代码如下,请问这段代码中变量【m】的功能是什么呢?
A:循环检测用户回答中的每一个字是否为“爱”
B:统计用户回答中“爱”字的个数
C:找到用户回答中的“爱”字在第几位
D:给“爱”字排名
答案:B
解析:分析这段代码,首先将变量【m】、【i】初始化,接着询问用户输入一句想对妈妈说
的话,然后开始重复执行,在重复执行过程中,变量【i】用于循环检测用户回答中的每一
个字符,并判断哪个字符是“爱”字,如果找到一个“爱”字,就将变量【m】加 1,直到所有
字符检测完,所以变量【m】的功能是统计用户回答中“爱”字的个数。
38.关于该程序的功能,以下说法正确的是?
A:用来计算变量“一句话”的长度
B:用来去除“一句话”中所有的字母“t”
C:用来计算“一句话”中有多少个字母“t”
D:没有实现任何功能
答案:C
解析:分析该程序,”一句话“变量是一段英文字符串,每一次先判断变量“一句话”中第 n 个
字符的内容是否等于“t”,如果条件成立则变量 m+1,判断结束后 n+1,以此循环”一句话的
字符数“次(若字符长度为 20,则循环 20 次)。可以得知 n 的作用是记录“一句话”中每个
字符的位置,m 用来记录字符串中“t”的个数,所以程序中的循环执行完后,根据”m“的值可
以得出有多少个字母”t“。
39.如图用列表做了一个随机抽签程序,程序中的空缺处应该填写的内容是?()
A:
B:
C:
D:以上都不正确
答案:C
解析:按下空格键后,需要用“奖项”变量来表示列表中的奖品等级序号,由于“奖项”列表有
5 项,所以第一个空缺处应该添填入 ,将随机出的数字存储;说出的中奖
结果中,第一个空缺处应该填入 而不能再填入随机数,因为可能会跟第一次的随机
数不同,影响结果;最后一个空缺处需要填写随机出的奖项名称,通过指令
即可得出。三个空缺按顺序填入,即为 C 选项。
40.运行如下所示的程序,变量“sum”的值是多少?()
A:45
B:50
C:55
D:60
答案:C
解析:自定义的积木中,程序先判断参数“n”是否大于 0,如果符合条件则执行将变量“sum”
增加“n”,然后再调用自身进行判断,同时参数“n”-1,调用 10 次后的“sum”的值就会变为
10+9+8+...+1=55,此时 n 变为 0,不再继续调用。
41.在 Scratch 中,要将【积分】这个变量的值设置为 15,需要用到下面哪句代码呢?
A:
B:
C:
D:
答案:A
解析「将积分设为 」表示将积分设置为多少,「将积分 增加」表示将积分增加多少。
选项 B 是将积分增加 15;选项 C 是将积分设置为 5;选项 D是将积分增加 5
42.下面的程序中,按下哪个按键可以让角色恢复原来的大小?
A:按下 a 键时
B:按下 b 键时
C:按下 c 键时
D:以上皆是
答案:C
解析选项 A 是说出角色的大小 100 秒,并不会改变角色的尺寸;选项 B 是重复将角色大小
改变 100 次;选项 C 是把角色的大小设置为 100,是角色原来的大小,选项 C 正确。
二、多选题
1.在 scratch 中,可以创建角色的方法有哪些?()
A:从角色库选择一个
B:自己绘制一个
C:从角色库随机选择一个
D:从外部文件导入角色
答案:ABCD
解析:这个四种方法都可以创建一个角色。
2.控制模块包括以下哪些指令?()
A:停止所有声音
B:等待秒数
C:如果那么
D:停止全部脚本
答案:BCD
解析:
属于【声音】模块, 属于【控制】
模块。故此题的正确答案是 BCD。
3.小明添加了小猫角色后编写了如下程序,对下面程序执行的效果说法正确的是?()
A:程序会一直重复执行下去
B:程序碰到舞台边缘后就不会再切换造型了
C:角色会一直移动到舞台边缘然后停下来
D:角色在移动过程中会切换造型
答案:BCD
解析:从程序可以分析,角色一直移动并切换造型,直到碰到了舞台的边缘就会停止,因此
选项 BCD 的说法都正确。
4.通过下面哪些方法可以让“得分”变量显示?()
A:
B:
C:
D:
答案:AD
解析:点击变量前的小框可以改变变量的显示及隐藏状态,如果是勾选状态的情况,则变量
显示,反之隐藏。C 选项是用来让角色显示的。
5.这段代码是王老师编写的,同学们在讨论它究竟实现了什么功能,根据你的分析,下面哪
个些说法是正确的?()
A:奇数列表中第一个加入的数据是 1
B:接收广播的指令是对编号进行奇数和偶数的分类
C:代码执行到一定程度就会自动停止
D:代码会一直执行下去,不会停止
答案:ABD
解析:分析这段指令,编号从 0 开始,但是进入到重复执行中,编号先加 1,再发送广播,
在接收广播的代码中,判断编号 2 的余数是否等于 0,表示这里是判断编号是奇数还是偶
数,所以选项 A、B 正确,由于代码中使用的是重复执行指令,因此代码会一直执行下去,
不会停止,选项 C 错误,选项 D 正确。
6.对下面的指令的使用说法正确的是?()
A:它必须在有克隆体时才可以执行
B:它只能控制克隆体,不能控制本体
C:该脚本写在 A 角色中也可以控制 B 角色中的克隆体
D:它是在【事件】模块中的
答案:AB
解析:【当作为克隆体启动时】必须在有克隆体的时候才可以执行,并且它只能控制克隆体,
不能控制本体。选项 A、选项 B 正确;它所在的模块是【控制】模块,选项 D 错误;并且该
脚本写在哪个角色中就只能控制该角色的克隆体程序,选项 C 错误。
7.“在 1 到 100 间随机选一个数”可能出现的数字是?()
A:1
B:57
C:100
D:101
答案:ABC
解析:101 不在 1~100 的范围内,所以不可能出现
8.要实现四则运算 50-3*(8+5),下面选项中,能够算出正确结果的脚本是哪些?()
A:
B:
C:
D:
答案:BD
解析:Scratch中每个运算符自带括号功能,如 A选项程序转换成数学运算公式为:50-((3x8)+5),
C 选项为:((50-3)x8)+5,与题干中的运算结果不符
9.在控制模块中,包含下面哪些循环类语句?()
A:重复执行
B:重复执行几次
C:重复执行几秒
D:重复执行直到
答案:ABD
解析:在控制模块中,只有 ABD 三类循环语句。
10.角色的脚本区中,有如图所示代码,下列哪些描述是正确的?()
A:当程序开始运行之后,角色会在滑行的过程中变换颜色;
B:当程序开始运行之后,角色会先滑行到(20,20),再变换颜色;
C:程序一开始运行,角色就会播放胜利音效;
D:差不多在滑行结束时,角色就会开始播放胜利音效;
答案:AD
解析:正确答案为 AD,程序开始运行之后,角色会广播【执行动作】的消息,当接受到消
息后,角色会开始滑行并且变换颜色,差不多 1 秒钟之后,滑行和变换颜色都会执行结束,
角色会播放胜利音效,程序结束。
11.某个角色的脚本如下,下面选项中描述正确的是?()
A:脚本开始运行后,按下空格,再将鼠标移到角色上会切换背景。
B:脚本开始运行后,按下空格,再将鼠标移到角色上不会切换背景。
C:脚本开始运行后,将鼠标移到角色上会切换背景
D:脚本开始运行后,按下空格会切换背景
答案:BC
解析:先分析一下脚本运行的效果,当脚本开始运行后如果鼠标碰到角色,会切换造型,如
果按下空格会停止全部脚本,角色再碰到角色不会切换背景。故此题的正确答案是 BC。
12.某角色的代码如下,请分析一下,运行程序后,说法正确的是?()
A:角色一直跟随鼠标移动
B:按下鼠标时,角色靠近鼠标
C:按下鼠标时,角色远离鼠标
D:画笔粗细和颜色都是默认的
答案:CD
解析:代码中没有设定画笔的颜色和粗细,因此就是系统默认的,选项 D 正确,代码中按
下鼠标时,画笔会面向鼠标指针,并移动-50 步,也就是向远离鼠标的方向移动,因此选项
C 正确,选项 B 错误,代码中没有【移到鼠标指针】的指令,因此选项 A 错误。
13.点击绿旗按钮后,角色可能在下面哪些坐标位置呢?()
A:(0,0)
B:(50,0)
C:(100,0)
D:(150,0)
答案:BCD
解析:分析代码可知,变量【位置】的初始值可能是 2,3,4,因此判断条件第一个不可能满
足,而其他三个条件都有可能满足,因此选项 B、C、D 都可能存在。
14.根据如图程序,下列哪些情况会造成角色的移动?()
A:按下空格并且按下 q键
B:按下 r 键
C:按下空格并且按下 r 键
D:不操作
答案:AC
解析:分析一下程序,按下空格同时按下 q 键和 r 键会移动角色,所以这道题的正确答案是
AC。
15.根据身份证号辨别性别的脚本如下,选项中为男生的是?()
A:110000201901151234
B:110000201902156378
C:110000201903153321
D:110000201904157642
答案:AB
解析根据程序的描述,身份证号中第十七个数字能被 2 整除则为女生,不能被 2 整除则为
男生。所以选项 A 和 B 正确。
16.关于私有变量,下面说法正确的是?()
A:建立私有变量需要选择“仅适用于当前角色”
B:舞台区中私有变量的名称前面会有角色的名称
C:不同角色的私有变量可以重名,但全局变量不可重名
D:私有变量不能修改变量值
答案:ABC
解析
选项 A,建立私有变量如图所示, 选择右侧的“仅适用于当前角色”;选
项 B,私有变量在舞台区中的显示如图所示, ,变量名称前面
有角色名称;选项 C,由于私有变量是角色的私有属性,角色的名称已经有区分,所以不同
角色的私有变量可以重名;选项 D,私有变量可以在所属角色中随意修改,所以说法错误,
正确答案 A,B,C。
17. 下列哪个选项可以将列表 A 中的数字从小到大排列重新存储到列表 A
中?
A:
B:
C:
D:
答案:AB
解析:此题为冒泡排序。 相邻的两个数据相互比较,前边的数如果比后边的数大,交换两
个数值的位置。索引 i 判断当前位置,i 为列表中项目数时,当前列表中最后一项就是最大
的数字。将索引 i 重新从 1 开始计数,通过控制 i 的数值,完成冒泡排序。并且在交换两
个相邻的数值时记得叫用临时变量 temp 存储其中一个值
18.关于图中这段脚本,下列说法正确的是?
A:程序开始运行之后,自制积木会运行 5 次;
B:如果填写在自制积木中的参数不是 1 或者 2,自制积木就不会有效果;
C:程序运行结束后,角色会说出 3;
D:程序运行结束后,角色会说出 0;
答案:AC
解析:
三、判断题
1.下面的语句能够在【事件】模块中找到
答案:正确
解析:【当空格键被按下】语句在事件模块中
2.点击这个图标后,可以绘制一个新角色
答案:正确
解析:点击这个图标后,可以绘制一个新角色,所以正确
3.如果在程序中使用了选择结构,就不能使用顺序结构了。
答案:错误
解析:顺序和选择都是程序的基本结构,这程序的三种基本结构可以组合使用。故这道题错
误。
4.角色运行完下面这段代码后的位置和初始位置相同。
答案:正确
解析:角色的 x 坐标增加 10 之后减少 10 ,位置回到了起点,没有发生变化。
5.运行下面这段程序后,角色的状态是显示。
答案:错误
解析:这段代码的意思是,程序运行后,角色显示出来,然后移动 10 步,等待 1 秒后再
隐藏。所以角色最后是隐藏的状态。
6.Scratch3.0 的作品保存后的扩展名是" .sh3"
答案:错误
解析:Scratch3.0 保存的程序扩展名是" .sb3"
7.在图形化编程工具中,打开一个新文件就能在代码选择区中找到【画笔】模块。
答案:错误
解析:【画笔】模块在扩展模块中,使用前需要单独添加。
8.当图形化程序运行时,想要关闭所有的声音,需要使用【清除音效】指令。
答案:错误
解析:在图形化编程中,【清除音效】语句是清除音调和左右平衡的音效,不是关闭所有的
声音,应该使用【关闭所有声音】语句,【关闭所有声音】语句可以实现对程序中的所有声
音停止播放的效果。故此题是错误的。
9.角色程序如图所示,点击绿旗,不论程序运行多长时间后,按下空格键,角色都会播放声
音并移动到舞台中央。
答案:错误
解析:观察代码,发现代码中的重复执行只会执行 10 次,因此重复执行结束后再按空格键
角色不会有任何效果,因此题目说法错误。
10.角色有如下代码,点击绿旗开始,程序运行结束后,舞台区会有 3 个该角色的克隆体存
在。
答案:错误
解析:从代码分析可知,重复执行三次,每次克隆自己,但由于克隆体产生时,会立即将克
隆体删除,所以舞台区中没有该角色的克隆体存在。
11.图中的判断条件,在空格键或者鼠标被按下的时候,角色就会说“你成功啦”。
答案:正确
解析:用【或】逻辑运算符连接判断条件,需要【或】左右两边的条件成立一个的时候就会
成立,说“你成功啦”否则会说“你好”。
12.角色运行下面这两段代码后,会在改变一次造型和发出一次声音之间交替进行。
答案:错误
解析:Scratch 中某个角色的两个程序可以同时执行,这种规则叫做“并行”。该题目中,角色
在切换造型的同时就会发出声音,并不是交替进行。
13.一个角色的坐标位置是 (100, 400),它可以显示在舞台区中。
答案:错误
解析:图形化编程界面中,舞台区上 x 坐标的范围是 -240 到 240,y 坐标的范围是 -180
到 180。(100, 400) 这个位置已经超出了舞台区的范围,角色不会显示在舞台区中。
14.在 Scratch中,可以创建两个名字相同的列表,但不能创建两个相同的变量。
答案:错误
解析:Scratch 中变量和列表的名字可以一致,但不能创建两个名字相同的变量或名字相同
的列表。
15.在 Scratch中,列表和变量可以同名。如可以建立一个名为“数据”的变量,同时还可以
建立一个名为“数据”的列表。
答案:正确
解:Scratch 中变量和列表的名字可以一致,但不能创建两个名字相同的变量或名字相同的
列表。
16. 该积木块最终运行结果显示为 4
答案:错误
解析:首先清空列表。加入了五个数据到列表中,此时列表存储的为 156,155,153,170,
155. 身高中第一个 155 编号为 2,删除身高的第二项即为删除 156 后的 155,此时列表为
156,153,170,155,在第一项前插入 157,列表更新为 157,156,153,170,155。此时
第一个 155 编号为 5.题目 4 错误
17.图中的几何图形是运行对应的脚本之后画出来的。
答案:错误
解析:如图脚本才能画出正确的图形,框出的地方需要重复执行 180 次才能画出完整的圆。
18.运行如下所示程序,角色会前进 20 步。
答案:错误
解析由于“5>24“判断结果为假,所以新建积木中的判断会执行否则中的语句,角色会后退
20 步。
19.下面这段代码,当 num1=40,num2=6 时,会画出一个边长为 40 的 6 边形的一半。
答案:正确
解析:运行后得到的图形是这样的 ,由于重复执行的次数除以 2,只剩下一半,
因此只能画出 6 边形的 3 条边,所以题目的说法正确。
20.某程序中的列表如图所示 ,其中每一项都由不同的人名+成绩组成。运行程序
后,可以让角色将“成绩单”列表中的所有成绩都说一遍。
答案:正确
解析:从题目中可以看出 n代表列表的序号,每次执行的程序是说出列表中第 n项的值,再
将 n+1,重复次数与列表项目数一致,即为 26 次。由于 n 的初始值为 1,所以当程序执行
到第 26 次时,角色会说出列表第 26 项的值,再将 n+1,然后程序停止。