电子学会全国青少年软件编程等级考试Python一级(2023年3月)

电子学会全国青少年软件编程等级考试Python一级(2023年3月)
分数:100 题目数量:37 时间:60分钟

一、单选题(共 25 题,共 50 分)
1、在启动 IDLE 后,看到下列哪一个提示字符,表明已经进入 PythonShell 交互模式? ( )
A. <<<
B. >>>
C. ^^^
D. 》》》
标准答案:B
试题难度:容易
试题解析:Python Shell交互模式的提示字符是>>>。当你启动Python IDLE,你将在屏幕上看到>>>,这就表示你已经进入到了Python Shell交互模式,可以开始直接输入Python代码并立即看到执行结果。其他选项A,C和D都不是Python Shell交互模式的提示字符。所以,答案选择B。

2、某同学想要编写程序计算三角形的面积,已知底边长为 11,高为 8。
面积公式为 s = a * h / 2,下列为部分程序,横线处程序分别应为? ( )



s = a * h / 2
print(‘三角形的面积为 :’,s)
A.
11
8
B.
a = 11
h = 8
C.
a == 11
b == 8
D.
a11
h8
标准答案:B
试题难度:容易
试题解析:根据题目要求,需要计算三角形的面积,已知底边长为 11,高为 8,面积公式为 s = a * h / 2。因此,需要将底边长和高分别赋值给变量 a 和 h。在 Python 中,使用等号=进行赋值操作。所以,正确的选项是 B。

3、下列关于变量的定义和赋值说法错误的是? ( )
A. 在Python里,变量的设定和赋值不能同时进行,需要分开使用两条语句。
B. 空格不可以作为变量名的一部分。
C. 变量名以数字开头,或者以关键字作为变量名称,运行程序时会导致语法错误。
D. 变量名称的英文字母有大小写的区别,所以 Birth 和 birth 是两个不同的变量。
标准答案:A
试题难度:一般
试题解析:在 Python 中,变量的设定和赋值可以同时进行,例如:a=3。所以选项 A 是错误的。选项 B、C、D 都是正确的关于变量的定义和赋值的描述。因此,答案是选项 A。

4、关于 Python 编程环境,下列说法正确的是? ( )
A. Python 文件只能在自带的 IDLE 的编程环境中才可以运行
B. 在交互式编程环境中,交互窗口中会显示当前安装 Python 的版本名称
C. 在脚本式编程环境中,脚本编辑区会显示当前安装 Python 的版本名称
D. 越高的 Python 版本,Python 程序的运行速度会越快
标准答案:B
试题难度:一般
试题解析:
在 Python 中,Python 文件可以在多种编程环境中运行,不一定只能在 IDLE 中运行,选项 A 错误。
在交互式编程环境中,交互窗口中会显示当前安装 Python 的版本名称,而在脚本式编程环境中,脚本编辑区不会显示当前安装 Python 的版本名称,选项 B 正确,选项 C 错误。
Python 程序的运行速度与 Python 版本没有直接关系,而与程序的逻辑和算法有关,选项 D 错误。
因此,答案是选项 B。

5、买来的新电脑,没有 Python 环境,想要运行 test.py 文件,需要如何操作? ( )
A. 直接在电脑中双击打开即可运行
B. 需要下载并安装 Python 软件后才可以运行
C. 将后缀名改成 doc,直接打开即可运行
D. 打开 Scratch 软件,选择该文件直接打开即可运行
标准答案:B
试题难度:一般
试题解析:
要运行Python文件,首先必须安装Python环境。如果新买的电脑还没有安装Python,那么试图运行.py的Python文件将不会有任何反应,因为电脑并不知道如何解释这个文件。A选择项不对,因为没有Python环境,电脑无法识别并运行.py文件。
C选择项不对,仅仅改变文件后缀并不能让电脑知道如何运行这个文件。
D选择项中的Scratch是个让孩子们学习编程的软件,它不能运行Python文件。
所以,正确答案选择B,首先需要下载并安装Python环境,才能运行Python文件。

6、下列关于运算符说法错误的是? ( )
A. 两数相除的结果为商,若两数除得尽,Python 会将所得的商自动转换为浮点型数据。
B. 两数相除,若除不尽,可以使用 / 运算符获得商的整数部分。
C. % 运算符可用于取得商的余数部分。
D. 如果两个或多个运算符出现在同一个表达式中,需要按照优先级确定运算顺序。
标准答案:B
试题难度:一般
试题解析:选项 B 描述错误,因为 / 运算符得出的是实数除法结果,而不是整数结果。获取整数商需要使用 // 运算符,而不是 / 运算符。所以正确答案为B。

7、在 PythonShell 中运行下列程序,输出结果为? ( )
new_str = “hello” + “=>” + “python” + str(3)
print(new_str)
A. hellopython
B. hello=>python
C. hello=>python3
D. 语法错误
标准答案:C
试题难度:容易
试题解析:这段Python程序是通过字符串拼接操作符“+”,将几个字符串和数字拼接起来。因此,程序的输出结果为"hello=>python3",即选项C。

8、已知
a=True
b=False
c=True
执行语句 print(not a and b or c),结果为? ( )
A. True
B. False
C. 1
D. 0
标准答案:A
试题难度:容易
试题解析:根据逻辑运算的优先级,not运算的优先级最高,and次之,or最低。所以首先计算not a为False,然后False and b也为False,最后False or c的结果为True,即选项A。

9、已知表达式3 + 8 / 4 + False(不包含引号),其输出结果的数据类型为? ( )
A.int
B.bool
C.float
D.语法错误
标准答案:C
试题难度:一般
试题解析:在Python中,除法运算结果的类型总是浮点数,即使两个数能够整除。所以,8 / 4 结果是浮点数 2.0,再与整数 3 相加,结果还是浮点数。最后,False作为布尔值,当操作数时,Python会把它看作整数0。因此,整个表达式的结果是 5.0,数据类型为float,即选项C。

10、下列图形最有可能是哪段代码执行后的结果? ( )
在这里插入图片描述

A.
import turtle
turtle.forward(100)
turtle.left(90)
turtle.circle(50,180)
turtle.down ()
B.
import turtle
turtle.forward(100)
turtle.left(90)
turtle.circle(50,-180)
turtle.down ()
C.
import turtle
turtle.forward(100)
turtle.left(90)
turtle.circle(50,90)
turtle.down ()
D.
import turtle
turtle.forward(100)
turtle.left(90)
turtle.circle(50,-90)
turtle.down ()
标准答案:D
试题难度:一般
试题解析:题面中的图,可以通过直行,左转,倒着画四分之一圆形来实现。
A选项结果是
B选项结果是
C选项结果是
D选项结果是

11、海龟正在学习绘制多边形,小海龟想让画笔绘制的速度慢一些,下列哪一指令使画笔绘制的速度最慢?( )
A.turtle.speed(0)
B.turtle.speed(1)
C.turtle.speed(2)
D.turtle.speed(3)
标准答案:B
试题难度:一般
试题解析:在turtle库中,speed()方法用于设置画笔的速度,速度参数1是最慢的,所以选项B正确。

12、小海龟想要给自己绘制的图形涂上颜色,下列关于颜色相关的设置说法错误的是? ( )
A.turtle.pencolor(color)指令用来设置画笔的颜色,并且参数 color 有两种表示方式。
B.turtle.color(color1,color2)指令用来同时设置画笔及填充颜色,color1 代表的是填充颜色,color2 代表的是画笔颜色。
C.turtle.fillcolor(color)指令中,color代表的是填充颜色,填充颜色需要在填充前进行声明,否则以默认颜色或者上次的填充颜色来填充。
D.turtle.begin_fill()和 turtle.end_fill()分别为设置填充的起点和终点,结束填充和开始填充必须成对配合使用。
标准答案:B
试题难度:一般
试题解析:turtle.color(color1,color2)中,color1代表的是画笔颜色,color2代表的是填充颜色,所以选项B错误。其他几项描述都是正确的。

13、小海龟正在绘制主题电子小报,需要在画布上绘制一个直径为 50 的圆(实心或空心),下列哪条指令可以帮助小 海龟完成绘制? ( )
A.turtle.dot(100)
B.turtle.dot(50)
C.turtle.circle(50)
D.turtle.circle(100)
标准答案:B
试题难度:一般
试题解析:turtle.dot(size) 方法可以绘制一个指定直径的圆点,所以选项B的指令可以绘制一个直径为50的圆。

14、在用 Python 进行编程时,代码后面常用#并在后面加上一些说明文字内容,在这里#作用是? ( )
A.换行
B.转换数据类型
C.输出
D.注释
标准答案:D
试题难度:一般
试题解析:在Python编程中,井号(#)后面的内容是注释,它对程序的运行没有影响,但可以帮助理解代码的意图和功能。所以选项D正确。

15、如图所示,运行下列程序,请问输出结果是? ( )
a = 1
b = 2
a, b = b + 1, a + a
print(a, b)
A.1 2
B.2 1
C.3 2
D.3 6
标准答案:C
试题难度:一般
试题解析:在执行赋值操作时,Python会先计算右侧的表达式,然后将结果分别赋值给左侧的变量。所以,首先计算 b + 1 和 a + a 得到 3 和 2,然后将这两个值赋给 a 和 b。因此,print(a, b) 的输出结果为 “3 2”,即选项C。

16、下列选项中对于变量说法正确的是? ( )
A.Test 和 test 在程序中是同一个变量名
B.在变量名中加入字符\也可以
C.任何保留字都不可以作为变量来使用
D.命名变量时,一定要声明变量的数据类型才可以
标准答案:C
试题难度:一般
试题解析:
A选项:Python区分大小写,所以Test和test是两个不同的变量。
B选项:\在Python中是转义字符,因此不能作为变量名的一部分。
C选项:Python的保留字具有特殊意义,不能作为变量名使用。这是正确的。
D选项:Python是一种动态类型的编程语言,变量可以在赋值时自动确定其类型,不必事先声明。

17、甲、乙、丙三个人在一起做作业,有一道数学题比较难,当他们三个人都把自己的解法说出来之后,甲说:“我做错了 ”。乙说:“ 甲做对了 ”。丙说:“我做错了 ”。在一旁的老师看到他们的答案并听了他们的意见后说:“你们三个人中只有一个人做对了,并且只有一个人说对了。 ”请问,他们三个人中到底谁做对了? ( )
A.甲
B.乙
C.丙
D.都没有做对
标准答案:C
试题难度:一般
试题解析:由题意可知,一共有一个人做对,并且只有一个人说对。首先,甲不能做对,因为甲并没有说对(他说他自己做错了),而乙也不能做对,因为如果乙做对了,那么乙说的“甲做对了”这句话就是错误的。所以,只有丙做对是合理的,因为丙做对同时他也说对了(他说他做错了是错误的)。

18、调用 turtle 库指令,不可以只是用一行并且是一个指令直接绘制的图形是? ( )
A.圆形
B.等边三角形
C.正方形
D.直角三角形
标准答案:D
试题难度:一般
试题解析:直角三角形的绘制需要多步骤,不能一行代码一次性完成。而其它三种图形(圆形,等边三角形,正方形)则可以用turtle库circle()指令直接完成。

19、想要绘制如下所示图形,正确的是? ( )
在这里插入图片描述
A.
import turtle
turtle.color(“red”)
turtle.circle(100, 180)
turtle.done()
B.
import turtle
turtle.color(“red”)
turtle.circle(180)
turtle.done()
C.
import turtle
turtle.color(“red”)
turtle.circle(100, 270)
turtle.done()
D.
import turtle
turtle.color(“red”)
turtle.circle(100, 360)
turtle.done()
标准答案:A
试题难度:一般
试题解析:只有A项能画出来半圆,B项会画出整个的圆,C项会画出四分之三圆,D项会画出整个的圆

20、要绘制一个内径(六个顶点到中心点的距离)为 100 的正六边形,横线处的代码应该是? ( )
import turtle
turtle.pendown ()
turtle.circle(,,___)
turtle.penup ()
turtle.done()
A. 100, 90, 6
B. 50, 90, 6
C. 100, 360, 6
D. 100, 6, 360
标准答案:C
试题难度:一般
试题解析:根据turtle库中circle函数的参数含义,100表示绘制的六边形内径,360表示要绕中心进行360度的绘制,6表示要得到六边形。所以标准答案为C。

21、小奇参加知识竞赛,晋级条件是语文成绩和数学成绩必须等于或高于 90 分,用程序描述,以下哪个条件语句才是正确的? ( )
A.语文成绩>=90 and 数学成绩>=90
B.语文成绩90 and 数学成绩90
C.语文成绩<=90 and 数学成绩<=90
D.语文成绩>=90 or 数学成绩>=90
标准答案:A
试题难度:一般
试题解析:
A: 语文和数学成绩都等于或者高于90分,符合小奇晋级条件。
B: 只有当语文和数学的成绩都正好是90分时才满足条件,这也符合晋级条件,但无法满足分数超过90分的情况。
C: 语文和数学成绩都等于或者低于90分,无法满足小奇的晋级条件。
D: 只要语文或数学成绩中的任意一门等于或者高于90分,就满足条件。但实际上,必须两门课的成绩都等于或者超过90分才符合晋级条件。
所以只有A是正确选项。

22、运行指令 3 ** 2 > 2 * 3 and 6 < 5,请问根据运算的优先级,首先进行哪一部分的运算? ( )
A.2 > 2
B.3 ** 2
C.3 and 6
D.2 * 3
标准答案:B
试题难度:一般
试题解析:**的运算优先级最高,所以先算3 ** 2。

23、下列选项输出结果为 False 的是? ( )
A. 2 > 3 or 3 < 4
B. 1.0 == 1
C. “python” == “Python”
D. 10>=10.0
标准答案:C
试题难度:一般
试题解析:在Python语言中,字符串的比较是区分大小写的,"python"和"Python"不相等,全小写的"python"和首字母大写的"Python"虽然表示相同的词义,但在Python中被认为是两个不同的字符串。所以选项C的结果为 False。其它选项A、B、D的结果都为 True。

24、分别输入小明,小红,小李的期末数学成绩,想要计算三位同学的平均成绩并输出,下列选项正确的是?( )
A.
a=int(input(“小明的数学成绩是:”))
b=int(input(“小红的数学成绩是:”))
c=int(input(“小李的数学成绩是:”))
print((a+b+c)//3)
B.
a=int(input(“小明的数学成绩是:”))
b=int(input(“小红的数学成绩是:”))
c=int(input(“小李的数学成绩是:”))
print((a+b+c)/3)
C.
a=input(“小明的数学成绩是:”)
b=input(“小红的数学成绩是:”)
c=input(“小李的数学成绩是:”)
print((a+b+c)/3)
D.
a=int(input(“小明的数学成绩是:”))
b=int(input(“小红的数学成绩是:”))
c=int(input(“小李的数学成绩是:”))
print((a+b+c)%3)
标准答案:B
试题难度:一般
试题解析:
A: 在Python中,'//‘代表取整除运算符-返回商的整数部分,而我们需计算的是平均值,所以应该直接使用’/'进行除法运算。
B: 该选项首先输入三位同学的成绩,并转为整数,然后进行求和,最后除以3得出平均值,这符合题目描述,是正确的代码。
C: 该选项尝试把字符串(输入的数学成绩)进行加和操作,并除以3,这是不合法的,会抛出错误。
D: 该选项使用模运算符%,它返回除法的余数,这并非我们要求的平均值。所以也是不正确的。

25、下列代码的运行结果是? ( )
a = 3 and 2
b = 3 or 4
print(a + b)
A.5 B.7 C.True D.False
标准答案:A
试题难度:较难
试题解析:在Python中,"and"和"or"属于逻辑运算符。
"and"运算符会返回其第一个为假的操作数,如果所有操作数都为真,则返回最后一个操作数。在表达式"a = 3 and 2"中,由于3和2都为真,所以返回值为2,故a=2。
"or"运算符会返回其第一个为真的操作数,如果所有操作数都为假,则返回最后一个操作数。在表达式"b = 3 or 4"中,3为真,故返回值为3,即b=3。
所以print(a + b)的结果就是2+3,即5。

二、判断题(共 10 题,共 20 分)
26、在 Python 编程中,print 的功能是将 print()小括号的内容输出到控制台,比如:在 PythonShell 中输入 print(北京,你好)指令,小括号内容可以输出到控制台。 ( )
标准答案:错误
试题难度:一般
试题解析:print函数在打印字符串时,字符串需要放在引号内,无论是单引号还是双引号。所以print(北京,你好)会报语法错误。应修改为print(“北京,你好”),这样才能正确输出。

27、在 Python 中为一个变量赋值就表明声明了该变量,变量的数据类型取决于赋值数据的类型,该变量不可以接收 其它类型的数据。 ( )
标准答案:错误
试题难度:一般
试题解析:在 Python 中,变量是动态类型,这意味着我们可以为一个变量赋值一个类型,然后稍后在代码中为同一个变量赋值一个不同的类型。Python 将会跟踪最新的类型。所以该断言是错误的。

28、'88’是一个字符串类型数据,如果将单引号去掉,它就变成了整型数据,同理’python’也是一个字符串类 数据,如果将单引号去掉,它也会变成整型数据。 ( )
标准答案:错误
试题难度:容易
试题解析:在Python中,‘88’确实是一个字符串类型数据,去掉引号后,它就变成了数值类型的整数88。但是对于’python’,去掉引号后,并不能将其转换成整型数据,因为整型数据只能由数字组成,而’python’包含的是字母,所以这是错误的。

29、在海龟画图中,turtle.forward(100)指令可以让小海龟向前走,turtle.backward(100)指令可以让小海龟向后走,同时小海龟的头会转向相反的方向。 ( )
标准答案:错误
试题难度:一般
试题解析:turtle.forward(100)能使小海龟向前走100个单位,turtle.backward(100)能使小海龟向后退100个单位,但是这两个函数不会影响小海龟的头部方向,所以该说法是错误的。小海龟的头部方向只会被turtle.left()和turtle.right()改变。

30、文本编辑器既可以编写 Python 代码也可以运行 Python 代码。 ( )
标准答案:错误
试题难度:一般
试题解析:文本编辑器只能用来编写代码,而不能运行代码。如果要运行 Python 代码,需要使用 Python 解释器或者集成开发环境(IDE)等工具。因此,这个说法是错误的。

31、print(int(12.67)),输出结果是 13。 ( )
标准答案:错误
试题难度:一般
试题解析:在Python中,int() 函数用于将一个数字或者字符串转化为整型,如果参数是浮点数,它会进行向下取整,也即抹去小数点后的内容。所以,print(int(12.67)) 的输出结果应是 12,而不是 13。因此,这个说法是错误的。

32、type(16 / 4)和 type(8 // 2)的结果都是<class"int">。 ( )
标准答案:错误
试题难度:一般
试题解析:在Python中,“/”是除法运算符,其结果是浮点数。因此,type(16 / 4)的结果将是<class ‘float’>。而“//”是整除运算符,其结果是整数。所以,type(8 // 2)的结果将是<class ‘int’>。因此,该说法是错误的。

33、input()指令,输入的数据都是以字符串型来存储的。 ( )
标准答案:正确
试题难度:一般
试题解析:在Python中,input()函数接受用户输入,无论用户输入的是文字,还是数字,都会以字符串类型返回并存储。所以这个陈述是正确的。

34、Turtle 库中的 setup ()指令既可以设置画布的大小也可以设置画布的位置。 ( )
标准答案:正确
试题难度:一般
试题解析:在Python Turtle库中,setup()函数用于设置画布的大小和位置。该函数有四个参数:宽度,高度,起始x坐标和起始y坐标。所以这个陈述是正确的。默认的起始x和y坐标将会把窗口置于屏幕中央。

35、某同学在学习 Python 编程语言时,想要保存程序文件,文件命名必须采用小写英文字母且文件后缀必须为.py。 ( )
标准答案:错误
试题难度:容易
试题解析:Python文件名并非必须使用小写英文字母,命名可以采用大小写字母、数字、下划线等。但是,按照惯例,Python文件名常常采用小写字母和下划线。此外,文件后缀名确实需要为.py,这是正确的,这样才能被识别为Python代码文件。所以这个陈述部分正确,部分错误。

三、编程题(共 2 题,共 30 分)
36、小海龟最近正在学习中国传统文化,小海龟对传统节日元宵节特别感兴趣,元宵节作为中国传统节日又被称为 灯节,小海龟为了庆祝元宵节,它想绘制一个彩色的荷花灯图形,如下图所示:
在这里插入图片描述
要求:
(1)彩色荷花灯由 5 个花瓣组成,画笔颜色为粉色(pink);
(2)相邻花瓣的对称轴夹角的角度为 30 度(提醒同学们程序中的旋转角度可不一定是 30 度);
(3)单个花瓣的弧度为 90 度,半径为 70;
(4)最左侧花瓣的上下两个线条中,上线条是小海龟左转 105 度后利用画圆工具绘制而成的;
(5)最后小海龟隐藏。

参考程序:
import turtle
turtle.color(“pink”)
turtle.right(15)
for i in range(5):
turtle.circle(70, 90)
turtle.left(90)
turtle.circle(70, 90)
turtle.left(120)
turtle.hideturtle()
turtle.done()

试题难度:一般

评分标准:
(1)导入海龟库正确;(2 分)
(2)画笔颜色指令使用正确;(2 分)
(3)最左侧花瓣与小海龟初始方向角度设置正确;(2 分)
(4)花瓣弧度设置正确;(3 分)
(5)花瓣半径设置正确;(3 分)
(6)花瓣数量设置正确;(2 分)
(7)有海龟隐藏指令;(2 分)
(8)程序运行正常,运行结果与要求一致。(4 分)

37、小明同学积攒了一部分压岁钱想要用来购买书籍,已知一本书的单价是 23 元,请根据小明压岁钱的金额,编写 程序计算最多可以购买多少本书,还剩多少压岁钱。
要求:
(1)程序开始运行后,提示输入压岁钱数;
(2)程序会根据输入的数字计算最多可以购买多少本书并计算剩余的压岁钱金额;
(3)输出结果:可以购买 XX 本书,剩余 XX 元。
如:输入压岁钱 100,输出:可以购买 4 本书,剩余 8 元。

参考程序:
# 提示用户输入压岁钱数
m = int(input(“请输入压岁钱数:”))
# 计算最多可以购买多少本书
b = m // 23
# 计算剩余的压岁钱金额
rm = m % 23
# 输出结果
print(“可以购买{}本书,剩余{}元。”.format(b, rm))

试题难度:一般

评分标准:
(1)有输入语句;(2 分)
(2)有输出语句;(1 分);输出语句符合题目格式要求;(1 分)
(3)有类型转化语句;(2 分)
(4)有计算语句;(2 分)
(5)程序符合题目要求。(2 分)

  • 16
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
202112 青少年软件编程等级考试是一次对青少年编程技能的评估考试。其中,Python一级考试是指对学生在Python编程方面的基础知识和能力进行测试。 Python一级考试真题主要包含以下内容: 1. 程序设计基础:要求学生了解Python的基本语法和常用数据类型,能够使用变量、表达式、条件语句和循环结构进行简单的程序设计。 2. 函数与模块:要求学生掌握函数的定义和调用,了解模块的概念和使用方法,能够编写简单的函数并使用已有的模块实现特定功能。 3. 文件操作与异常处理:要求学生掌握文件的读写操作,了解异常处理的基本概念和使用方法,能够使用try-except语句进行错误处理。 4. 数据结构与算法:要求学生了解常见的数据结构如列表、字典和集合,并能够使用相应的方法对其进行操作和处理,了解常用的算法如排序和搜索算法,并能够实现简单的算法。 5. 综合实践:要求学生根据题目要求,运用所学知识进行程序设计和问题解决,包括题目分析、算法设计、代码实现和结果验证等环节。 通过这次一级考试,可以对学生在Python编程方面的基础掌握情况进行评估,帮助学生更好地了解自己的编程水平,并为进一步的学习和提高提供指导。对于青少年来说,参加这样的考试不仅可以培养他们的编程思维和动手能力,还能提高他们的解决问题的能力和创新意识,为未来的学习和职业发展打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值