资源简介 NOC Python初赛考题一、单选题1.运行以下代码,终端区会出现什么内容?A:9B:0C:25D:终端区会报错答案: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:6B:3C:12D: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:exceptB:doC:passD:while答案:B解析:在 Python 中,没有 do 这个关键字。6.以下选项中不符合 Python 语言变量命名规则的是?A:IB:3_1C:_AID: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:jiebaB:wordcloudC:beautifulsoup4D:requests答案:B解析:wordcloud 是 Python 的一个第三方库,用于生成词云图片。11.Python 中,用来定义函数的关键字是?A:returnB:defineC:defD:function答案:C解析:def 是 Python 中用来定义函数的关键字。12.运行下面这段代码,输出的结果是?A:B:C:D:答案:A解析:type() 函数用于返回对象的类型。13.代码 print( 10 / 2 == 5.0) 输出的结果是?A:TrueB:FalseC:-1D:0答案:A解析:/代表除法运算,除法运算的结果是浮点数。所以 10/2 结果是 5.0。14.执行 for i in range(5) 的循环,i 的值分别是多少?A:1 2 3 4 5B:0 0 0 0 0C:5 5 5 5 5D:0 1 2 3 4答案:D解析:range() 函数可用于创建一个整数列表,只传入一个参数时,生成的整数列表会从 0 开始,依次递增 1 ,整数列表的长度就是传入的参数。 range(5) 会返回 [0, 1, 2, 3, 4] 。15.多分支使用的关键字是?A:ifB:if-elseC:if-elif-elseD:else答案:C解析:单分支使用的关键字是 if ,二分支使用的关键字是 if-else ,多分支使用的关键字是if-elif-else 。16.下列条件中,可以判断变量 a 等于变量 b 的条件是?A:a = bB:a >= bC:a == bD:a != b答案:C解析:在 Python 中,一个等号表示赋值,两个等号会判断相等。17.下列选项中,数据类型是浮点型的是?A:'7.0'B:7C:7.0D:'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: 2elsefinallyendB:number: 2endC:打印异常详情信息: invalid literal for int() with base 10:finallyendD:打印异常详情信息: invalid literal for int() with base 10:elsefinallyend答案:C解析:我们可以使用 try 和 except捕获异常并处理异常。输入的内容不是数字,会直接触发except语句。但是并不会进行 else 的判断 finally 是不管什么情况,都会执行里面的代码程序正常顺序运行,也会执行打印 end 的代码。19.在 Python 中交换 a 和 b 的值,可以怎么做呢?A:a = b, b = aB:a, a = b, bC:a, b = a, bD: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:iB:countC:i - jD:count - j答案:D解析:外循环代表一共比较多少轮,这个数是列表的个数减一,内循环代表每轮比较的次数,随着比较的轮次增大,比较的次数逐渐减小,每轮应该比较 count - j 次。21.下面哪个函数可以求出列表的个数 ?A:str()B:int()C:len()D:set()答案:C解析:len() 函数用于计算列表的长度,str() 用于将数据转换为字符串,int() 用于将数据转换为整型,set() 用于将数据转换为集合。22.运行以下代码后,程序打印的最大结果可能是?A:12B:13C:16D:17答案:D解析:random.choice() 函数的作用是随机选择一个元素,列表 nums 最大的值为 12;random.randint(a, b) 函数的作用是生成一个范围在 a <= n <= b 的随机整数,最大值可能是 5;所以打印的最大结果就是 5 + 12 = 17。23.运行以下代码后,程序打印的结果是?A:6B:6.5C:10D: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,-826.这里有一个二维列表,运行以下代码,终端区会出现什么内容?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:111B:222C: 111222D:什么都不会出现答案:B解析第一个条件 10 > 11 不成立,不会打印 111,第二个条件 20 < 30 成立,会打印出 22233.下面的说法中,哪个是错误的?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,97C: [[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,因此,选 D39.用割圆法绘制一个有 n 条边的正多边形时每次应旋转的角度是A:180 / nB:nC:90D: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 < 10B:3 > 2 == 2C:a - 5 > 5D:4 == '4.0'答案:AB解析:选项 C 中的变量 a 没有进行赋值,无法判断;选项 D 中,4 是整型,'4.0' 是字符串,不相等。7.在下列选项中,描述正确的有( )s = input()a = [s]print(len(s) == len(a))A:当输入字母'a',打印出 TrueB:当输入字母'a',打印出 FalseC:当输入字母'abc',打印出 TrueD:当输入字母'abc',打印出 False答案:AD解析:当输入‘a’,列表 a 就变成了 ['a'],len('a') 就是 1,len(['a'])也是 1。结果是 True。当输入‘abc’,列表 a 就变成了 ['abc'],len('abc') 就是 3,len(['abc'])还是 1。结果是 False8.下面属于 Python 中的保留字的有哪些A:classB:trueC:selfD: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=0else:x=1else:if k>2:x=3else:x=4A:3B:4C:5D:6答案:ABC解析:当 k<=5 并且 k>2 的时候,x 的值是 3。所以 k可以是 3,4,511.现在有一个字符串 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 = 0for i in maze:for j in i:count += jprint(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:passexcept (ValueError、IndexError) as err:print('Error: {}'.format(err))print('continue')B:try:passexcept (ValueError, IndexError) as err:print('Error: {}'.format(err))print('continue')C:try:passexcept ValueError as err:print('Error: {}'.format(err))except IndexError as err:print('Error: {}'.format(err))print('continue')D:try:passexcept 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 npres = (np.array(m) + np.array(n)).tolist()C:res = m + nD:无正确答案答案: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 ifB:elseifC:elseD:elif答案:CD解析:选项 A、选项 B,在 Python 中没有这样的语法。18.下列选项中,描述正确的是A: / 在代表运算中代表取整数。B:关系运算符中 == 代表数学中的等号。C:逻辑运算符中,“与”运算时“有 0 为 0,全 1 为 1”。D:关系运算符中的输出结果是以 bool 形式出现,为 True 和 False。答案:BC解析:/ 在运算中代表取除法运算,// 在运算中代表向下取接近商的整数。19.下列属于 python 保留字的是A:ifB:forC:whereD:import答案:ABD解析:‘where’ 不是 Python 中的保留字。20.下列变量名正确的是A:a bcB:_1abcC:a1bcD: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-acat-bcat-ccat-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:角色的大小会一直设为 105C:当绿旗被点击后,这段代码只会执行一次D:角色的大小会一直设为 100答案:A解析:这段代码模拟了触碰放大的效果。当绿旗被点击后,程序会不停地执行,判断角色是否碰到了鼓槌,如果碰到了,就将角色的大小设为 105 ,否则就将角色的大小设为 100 。所以正确答案是 A 。6.下面哪个语句可以删除克隆体?A:B:C:D:答案:D解析:A 选项是控制克隆体的语句;B 选项是克隆孙小弟这个角色;C 选项是克隆角色自己;D选项可以删除克隆体;根据题目要求,D 选项正确。7.为角色编写这段代码,运行后,主体和克隆体的大小分别是多少呢?A:主体大小为 100,克隆体大小为 100B:主体大小为 100,克隆体大小为 150C:主体大小为 150,克隆体大小为 100D:主体大小为 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:0B:1C:2D: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:将画笔颜色设定为 0D:将画笔粗细增加 1答案:B解析:使用 Scratch进行绘图需要先将画笔落笔后,进行移动。20.Scratch 的背景中,没有下列哪种类别的指令?A:运动B:外观C:声音D:画笔答案:A解析:Scratch 的舞台设与角色有很多区别。其中最大的区别就是舞台不会动,虽然有运动区的标签,但是里面没有指令。21.运行下面这段程序后,舞台区会出现多少个角色。A:0B:3C:6D: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:0B:1C:2D:3答案:C解析:分析代码可知,变量【数字】的初始值是 0,当用户输入的值是 2,满足判断条件,会执行将变量【数字】+ 1 的指令,变量变为 1,继续向下执行,再将变量增加 1,变量变为2。25.分析这段代码,最后实现的效果图是什么样子的呢?A:B:C:D:答案:D解析:分析这段代码,重点关注重复执行内的指令,画笔从(0,0)位置开始,落笔后,先移动 100 步,留下一条直线,接着抬笔,右转 15 度,再回到(0,0)点,这段代码没有留下痕迹,然后落笔,继续移动一条直线,如此重复,每转动 15 度,画出一条直线,最后形成的图案就是选项 D。26.点击绿旗代码开始执行后,几秒角色会说“你好!”?A:1B:4C:6D:永远不会说答案: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:80B:100C:130D: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:110B:100C:90D:120答案:C解析:大小的初始值是 20,首先判断 4*6>3*7 吗?满足,将大小减少 10 目前大小为 90,进入第二个判断,40/8>6 吗?不满足,程序结束。所以角色的大小为 90,故这道题的正确答案是 C。32.点击绿旗运行程序,输入的数字是什么的时候,角色会说你好?A:10B:13C:23D:4答案:C解析:分析程序可以得知,角色说你好的条件是 回答>5,回答>20,所以这道题的正确答案是 C。33.下列选项中对该段代码解释正确的是?A:9 以内的所有奇数的和B:9 以内所有偶数的和C:8 以内所有奇数的和D:8 以内所有偶数的和答案:C解析:变量初始值为 9 。 重复执行 9 次,并且执行过程中先将变量 i 减少 1,所以判断的是 8 以内的所有符合条件的数值和。 条件为判断数值除以 2 余数是否为 1,即判断是否为奇数。34.运行下面这段脚本,运行结束后画笔的粗细为?A:1B:50C:30D:29答案:D解析:正确答案是 29。开始运行后,先把变量【画笔粗细】设置为 0,再把画笔的粗细设置为 1,接着重复执行将【画笔粗细】的数值增加 1,直到【画笔粗细】的数值大于 50,重复执行的过程中会判断,【画笔粗细】是否小于 30,如果是的话,就将画笔的粗细设置为【画笔粗细】的数值。所以程序中【画笔粗细】在增大到 30 之前都会不断地增大画笔的粗细,当【画笔粗细】到达 30 的时候就不会再设置画笔的粗细了,所以画笔的粗细会停在29,之后【画笔粗细】会持续增大到 51,程序就会停止运行。所以最终画笔的粗细为 29。35.点击绿旗,执行图中代码,最终得到的变量值是A:1B:11C:10D:0答案:B解析:“我的变量”初始值为 10,程序执行,先运行的判断语句是判断“我的变量”是否大于 9,10 大于 9,将“我的变量”增加 1 变为 11;接着向下运行判断“我的变量”是否等于 10,11 不再等于 10,判断条件内的语句不再执行,所以变量的最终值是 11。36.下面的程序可以将输入的字符串反转,看看下面的分析,你觉得哪个是正确的呢?A:字符串反转就是把原来的字符串中字符的顺序颠倒B:变量【i】的初始值应该是 0C:循环体中【连接】指令的前后两个数据可以调换位置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:45B:50C:55D: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是将积分增加 542.下面的程序中,按下哪个按键可以让角色恢复原来的大小?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:奇数列表中第一个加入的数据是 1B:接收广播的指令是对编号进行奇数和偶数的分类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:1B:57C:100D: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:110000201901151234B:110000201902156378C:110000201903153321D: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,然后程序停止。 展开更多...... 收起↑ 资源列表 2022年小学NOC Python初赛题目.pdf 2022年小学NOC图形化初赛题目.pdf