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选项。

 

 

版权声明:本文为博主作者:小C哈哈哈原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/xiaoxi_hahaha/article/details/136987847

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2024年5月6日
下一篇 2024年5月6日

相关推荐