2023年全国青少年信息素养大赛(python)初赛真题

05-14 阅读 0评论

2023年全国青少年信息素养大赛(python)初赛真题

选择题(每题5分,共20题,满分100分) 

1、关于列表的索引,下列说法正确的是?

A.列表的索引从0开始

B.列表的索引从1开始

C.列表中可能存在两个元素的索引一致

D.列表中索引的最大值为999

参考答案:A

参考解析:列表的索引从0开始,且不可能存在两个元素的索引一致,一个索引确定一个元素,是一 一对应的关系,列表中的索引的最大值要根据元素的数量来确定,如果有n个元素,那么索引的最大值为n-1。

2、质数是指只能被1和自身整除的正整数。例如,2、3、5、7、11、13等都是质数,而4、6、8、9、10等都不是质数,下方的代码可以判断数字47是否为素数,则下划线处应填什么代码?

num = 47
for i in range(2, num):
    if _________:
        print(num, "不是质数")
else:
    print(num, "是质数")

A.num % 2 == 0

B.num % i == 0

C.num % i != 0

D.num % 2 != 0 and num % 3 != 0 

参考答案:B

参考解析:根据题意,如果要判断x是否为质数,那就需要计算一下2~x-1是否有数能够把x整除,如果都没有,那么x是质数,但凡2~x-1中有一个数能把x给整除掉,那么x不是质数。

for-else的作用为:for循环可以与else搭配使用,当for循环正常结束时,else也会执行,而当for循环未正常结束,例如使用break提前退出时,则不会执行。

提示:这道题我感觉有问题,输入4的时候,会输出4不是质数和4是质数。

3、运行下方代码,输入 52 ,输出结果为?

height = int(input())
if height > 100:
    print("超高层建筑")
elif height > 50:
    print("高层建筑")
else:
    print("中层建筑")

A.超高层建筑

B.高层建筑

C.中层建筑

D.52

参考答案:B

参考解析:本题考察程序设计结构之多分支结构,if-elif-else为多选一结构,因为52>50,因此会输出"高层建筑"。

4、已知程序已导入了随机库和海龟库,则关于下方代码的描述正确的是?

import turtle
import random
t = turtle.Turtle()
a = random.randint(90, 110)
t.forward(a)

A.执行代码,海龟会后退

B.执行代码,海龟可能前进了120

C.执行代码,海龟前进的距离不可能超过110

D.执行代码,海龟可能前进了50

参考答案:C

参考解析:在Python的turtle图形库中,turtle的默认方向是向右的(也就是x轴的正方向),randint函数的功能是生成90~110之间的一个整数【包括90和110】,因此本道题选择C选项

5、下列关于列表list1 = [True, 6, "6", 4+8]的描述正确的是?

A.列表list1定义有误,列表外侧应用圆括号括起来

B.列表内四个元素的数据类型均不相同

C.列表内第二个元素和第四个元素的数据类型一致

D.列表内第二个元素和第三个元素的数据类型一致

参考答案:C

参考解析:在Python中,列表是由多个值组成的集合,其中的每个值可以是任何类型(数字,字符串,另一个列表等)。列表是用方括号[  ]定义的,A选项错误,列表内第一个元素为bool布尔类型,可以使用list1 = [True,6,"6",4+8];print(type(list1[0]))代码检测数据类型,第二个元素的类型为int整型,第三个元素的类型为str字符串类型,第四个元素的类型为4+8=12,为int整数类型。因此列表内第二个元素与第四个元素类型一致,因此选择C选项。

6、下列不是Python中的关键字的是?

A.and

B.for

C.if

D.range

参考答案:D

参考解析:and代表逻辑与,for代表循环,if代表如果,这三个都是python中的关键字,而range是python中的函数,它用于生成一系列连续的整数。

7、下列代码的执行结果是?

a = 1
b = 2
c = 3
c = c + a * b
print(c)

A.3

B.5

C.7

D.9

参考答案:B

参考解析:*的优先级比+高,因此先计算a*b的值,a*b=1*2=2,然后再+3,最终答案为5

8、for i in range(1,7)中i的取值范围是?

A.1到7

B.1到6

C.0到7

D.0到6

参考答案:B

参考解析:python range() 函数可创建一个整数列表,一般用在 for 循环中。用法为:

  • range(start, stop[, step])
    • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0,5)
    • stop: 计数到 stop 结束,但不包括 stop。例如:range(0,5) 是[0, 1, 2, 3, 4],没有5
    • step:步长,默认为1。例如:range(0,5) 等价于 range(0,5,1)

      range(1,7),默认步长为1,生成的整数列表不包含7,范围为1~6,因此选择B选项。

      9、下列代码的执行结果是?

      z = "7"
      x = z + z
      print(x)
      z = int(z)
      x = z + z
      print(x)

      A.77 换行 77

      B.14 换行 14

      C.77 换行 14

      D.14 换行 77

      参考答案:C

      参考解析:在python中+可以做加法运算,也可以用来做字符串拼接,z="7",代表z是一个字符串类型的数据,那么x=z+z,这里的+号就代表字符串的拼接,于是x的值为"77",z=int(z)代表将z的值从字符串的7强制转换为整型的7,于是z的值为整数7,然后执行x=z+z语句,此时这里的+代表加法运算,因此x=7+7=14,所有答案选C选项。

      10、下方代码的运行结果为?

      num = [3, 6, 9, 12]
      if num[3] == 12:
          print(num[0] + num[1])
      else:
          print(num[2] + num[3])

      A.9

      B.12

      C.18

      D.21

      参考答案:A

      参考解析:列表的索引从0开始,num[3]的值为12,if判断条件成立,因此执行if分支中的代码,计算num[0]+num[1]的值,num[0]的值为3,num[1]的值为6,因此3+6=9,所以答案选择A选项。

      11、关于Python中的注释,下列说法正确的是?

      A.注释用于改变代码的执行顺序

      B.注释的符号是#

      C.#print(1+2)的执行结果为3

      D.一行中,注释符号只能有一个

      参考答案:B

      参考解析:#是python中的单行注释,注释的代码不会改变程序是执行顺序,计算机也不会执行所注释的代码,A选项错误,C选项错误,在一行中可以写多个#,D选项错误,因此本题选择B选项。

      12、下列代码的运行结果为?

      movie = ["雨人", "大鱼", "教父"]
      movie[2] = "洛奇"
      print(movie[2])
      

      A.movie[2]

      B.洛奇

      C.教父

      D.大鱼 

      参考答案:B

      参考解析:movie是一个列表,列表的下标从0开始,movie[2]="洛奇"的意思为将movie[2]中的教父修改为洛奇,因此本题选择B选项。

       13、运行下方代码,输入 1 ,输出结果为?

      a = input()
      print(a + a + a)

      A.a + a + a

      B.111

      C.3

      D.2 + 1

      参考答案:B

      参考解析:input函数默认情况下输入的数据为字符串类型,输入为1,也就意味着输入的是字符串1,那么a+a+a的功能是将字符串1拼接在一起,于是就会得到111,因此本题选择B。

      14、运行下列程序后,输出的结果为?

      season = ["春", "夏", "秋", "冬"]
      season.remove(season[0])
      season.remove(season[0])
      print(season)

      A. ['夏', '冬']

      B. ['春', '冬']

      C. ['秋', '冬']

      D. ['春', '夏']

      参考答案:C

      参考解析:season是一个列表,remove为列表中的内置函数,用来移除列表中的数据元素,当执行第一句season.remove(season[0])的时候,就是把"春"这个元素从列表中移除,此时列表中的数据为season=["夏","秋","冬"],紧接着又继续相同的代码,此时season中索引为0的元素为"夏",将其移除,最后列表中剩下"秋"、"冬"两个元素,因此本题选择C选项。

      15、根据Python变量的命名规则,下列不可以作为变量名的是?

      A.a6b

      B.6ab

      C.ab6

      D.ba6

      参考答案:B

      参考解析:在Python中,变量的命名遵循以下规则:

      1. 变量名只能包含字母、数字和下划线(_)。

      2. 变量名不能以数字开头。

      3. 不能使用Python内置关键字作为变量名,如while、for、if等

      B选项以数字开头,错误,因此本题选择B选项。

      16、下列选项不能输出三行 你好 的是?

      A.代码如下:

      print("你好")
      print("你好")
      print("你好")

      B.代码如下:

      for i in range(3):
          print("你好")

      C.代码如下:

      print("你好你好你好")

      D.代码如下:

      n = 1
      while True:
          print("你好")
          n = n + 1
          if n > 3:
              break

      参考答案:C

      参考解析:C选项输出的结果为一行,内容为:"你好你好你好",因此答案选择C选项。

      17、已知程序的输出结果为12,则下划线处应填什么?

      num = 3
      for i in range(_____):
          num = num + 3
      print(num)
      

      A.2

      B.3

      C.4

      D. 5

      参考答案:B

      参考解析:num变量的初始值为3,要想其结果变为12,那么需要再加3个3,也就是意味着,for循环语句要循环三次,range函数的使用方法参考第8题的解析,range默认从0开始,当参数填3的时候,循环3次,分别为0、1、2,因此本题选择B选项。

       18、谁被誉为计算机之父?

      A.艾伦图灵

      B.冯诺依曼

      C.约翰文森特

      D.格蕾丝霍波

      参考答案:B

      参考解析:约翰·冯·诺依曼被誉为计算机之父,图灵被誉为计算机科学之父和人工智能之父,约翰文森特被誉为电子计算机之父,格蕾丝霍波被誉为计算机软件之母,因此本题选择B选项

       19、CPU在执行程序时,程序需要加载到哪里?

      A.存储单元

      B.GPU

      C.内存

      D.控制器

      参考答案:C

      参考解析:任何程序都必须加载到“内存”中才能被cpu执行。内存用于暂时存放cpu中的运算数据,计算机中所有程序的运行都在内存中进行;只要计算机开始运行,操作系统就会把需要运算的数据从内存调到cpu中进行运算,当运算完成,cpu将结果传送出来。本题选C选项

      20、下列哪个选项可以正确导入海龟库?

      A.from turtle

      B.from time import *

      C.from turtle import *

      D.from random import *

      参考答案:C

      参考解析:在Python中,from … import语句用于从模块中导入指定的函数、类或变量。这种导入方式可以让我们只导入需要的部分,而不是整个模块,*代表导入所有内容,A选项,from不可以单独用,B是导入time模块中的所有内容,D选项是导入random随机模块中的所有内容。因此本题选择C选项。

       

       


免责声明
本网站所收集的部分公开资料来源于AI生成和互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,人围观)

还没有评论,来说两句吧...

目录[+]