2022年09月 Python(一级)真题解析#中国电子学会#全国青少年软件编程等级考试
Python等级考试(1~6级)全部真题・点这里
一、单选题(共25题,每题2分,共50分)
第1题
表达式len(“学史明理增信 ,读史终生受益”) > len(" reading history will benefit you ")的结果是?( )
A: 0
B: True
C: False
D: 1
答案:C
中文字符串"学史明理增信 ,读史终生受益"的字符数为14,而英文字符串" reading history will benefit you "的字符数为31。因此,表达式len("学史明理增信 ,读史终生受益") > len(" reading history will benefit you ")
的结果是False。
第2题
表达式(2<1)==False的结果是?( )
A: None
B: True
C: Error
D: False
答案:B
在这个表达式中,(2<1) 是一个比较表达式,判断 2 是否小于 1,这个判断是错误的,因为 2 不小于 1。因此,(2<1) 的结果是 False。
然后,(2<1)==False 进行比较运算,判断左侧表达式的值是否等于右侧表达式的值。因为 (2<1) 的结果是 False,而 False 与 False 相等,所以整个表达式的结果是 True。
第3题
在Python中,type()函数用于查看对象的数据类型,在Python shell 中运行type(‘6’*20),运行结果为?( )
A:<class ‘int’>
B:<class ‘str’>
C:<class ‘bool’>
D: 语法错误
答案:B
在Python中,type()函数用于获取对象的数据类型。当运行 type(‘6’*20) 这个表达式时,‘6’*20 表示将字符串 ‘6’ 重复 20 次,生成一个新的字符串。而 type() 函数会返回该字符串对象的数据类型。
由于 ‘6’*20 的结果是一个字符串,因此 type(‘6’*20) 的运行结果为 <class ‘str’>,表示这个对象的数据类型是字符串。
第4题
关于turtle的运动体系中,说法正确的是?( )
A: turtle.goto(x,y)可以让小海龟直线前进到指定的坐标位置。
B: turtle.forward(a)可以让小海龟向前移动a个像素,如果a为负数,运动方向不变,只是小海龟自身的方向与原来相反。
C: turtle.seth()、turtle.left()、turtle.right()的参数均为绝对角度。
D: turtle.dot()与turtle.circle()的参数均为半径。
答案:A
在turtle的运动体系中,turtle.goto(x, y)函数可以让小海龟直线前进到指定的坐标位置 (x, y)。这个函数会使小海龟从当前位置直接移动到指定的坐标位置,画笔在移动过程中会绘制直线轨迹。
第5题
在turtle画图中,常常使用turtle.color(color1,color2)指令进行画笔颜色和填充颜色的设置,下列关于该指令使用正确的是?( )
A: turtle.color(“red”,”yellow”)表示画笔颜色为黄色,背景颜色为红色。
B: turtle.color(“red”)表示画笔颜色为红色,背景颜色随机。
C: turtle.color(color1,color2)指令中的参数color2是可选项,可以只有一个颜色参数。
D: turtle.color(color1,color2)指令中若将color1和color2删掉,即turtle.color(),小海龟在向前走100像素时,画布不会出现小海龟的轨迹。
答案:C
在turtle画图中,turtle.color(color1, color2)指令用于设置画笔颜色和填充颜色。下面是关于该指令使用的正确说法:
A: turtle.color(“red”, “yellow”)表示画笔颜色为红色,填充颜色为黄色。背景颜色的设置通常使用其他方法,而不是turtle.color()函数。
B: turtle.color(“red”)表示画笔颜色为红色,填充颜色不会随机设置,而是保持默认值或上一个设置的颜色。
C: turtle.color(color1, color2)指令中的参数color2是可选项,可以只有一个颜色参数。这意味着你可以只提供一个颜色参数来设置画笔颜色,而填充颜色将保持默认值或上一个设置的颜色。
D: turtle.color(color1, color2)指令中,如果将color1和color2都删除(即turtle.color()),小海龟在向前走100像素时,画布将会出现小海龟的轨迹。画笔颜色不会影响小海龟绘制轨迹的可见性。
因此,只有选项C是正确的:turtle.color(color1, color2)指令中的参数color2是可选项,可以只有一个颜色参数。
第6题
如图所示,想要将一行输出的两句诗词,变成二行输出方式,应该如何写输出指令?( )
A: print(“床前明月光,疑是地上霜”)
B: print(“”“床前明月光 疑是地上霜”“”)
C: print(“床前明月光
疑是地上霜”)
D: print(“”“床前明月光
疑是地上霜”“”)
答案:D
使用三重引号 “”" 创建多行字符串,并在诗词的两句之间直接换行是可以实现的。
第7题
绘制一个半径为5的红色圆点,下列选项不正确的是?( )
A:
import turtle
turtle.color("red")
turtle.dot(10)
turtle.done()
B:
import turtle
turtle.color("red","red")
turtle.begin_fill()
turtle.circle(5)
turtle.end_fill()
turtle.done()
C:
import turtle
turtle.pencolor("red")
turtle.dot(10)
turtle.done()
D:
import turtle
turtle.color("red")
turtle.dot(5)
turtle.done()
答案:D
turtle.dot(5)的参数为直径,想要绘制半径为5的点,参数应为10。
第8题
下列指令可以方便将画笔设置回到初始位置和初始方向的是?( )
A: turtle.home()
B: turtle.clear()
C: turtle.goto()
D: turtle.setup()
答案:A
指令 turtle.home() 可以方便地将画笔设置回到初始位置和初始方向。这个指令会将小海龟移动到屏幕中心,并将方向设置为初始方向(默认是向右)。
选项 B: turtle.clear() 是用于清空画布上的绘图内容,而不是将画笔位置和方向重置到初始状态。
选项 C: turtle.goto() 是用于将画笔移动到指定的坐标位置,而不是将画笔设置回到初始位置和方向。
选项 D: turtle.setup() 是用于设置画布的大小和位置,而不是将画笔位置和方向重置到初始状态。
因此,正确的选项是 A: turtle.home(),它可以方便地将画笔设置回到初始位置和初始方向。
第9题
如图所示,turtle.circle(100)是绘制一个半径为100的圆,请问画笔从以下哪个点出发开始绘制?( )
A: A
B: B
C: C
D: D
答案:A
起始点为圆心下方。
第10题
Python自带的集成开发环境是?( )
A: iPython
B: Dev-C++
C: Visual Studio Code
D: IDLE
答案:D
IDLE(Integrated Development and Learning Environment)是Python的官方集成开发环境,它随Python安装包一同提供。IDLE提供了一个交互式的Python Shell和一个基本的代码编辑器,可用于编写、调试和运行Python代码。
第11题
下面哪条语句不能输出:原创精神:自主可控!自主可控!自主可控!( )
A: print(‘原创精神:自主可控!自主可控!自主可控!’)
B: print(‘原创精神:’+‘自主可控!’*3)
C: print(‘原创精神:自主可控!’*3)
D: print(‘原创精神:’+'自主可控!’*2+‘自主可控!’)
答案:C
*3会将前面字符串重复三次,输出为:原创精神:自主可控!原创精神:自主可控!原创精神:自主可控!
第12题
在 IDLE 开发环境中,默认是以多少个空格作为代码的基本缩进单位?( )
A: 1
B: 2
C: 3
D: 4
答案:D
在 IDLE 开发环境中,默认是以 4 个空格作为代码的基本缩进单位。
第13题
turtle绘图中,设置画布高度500像素,宽度500像素,初始位置为(0,0)的代码是?( )
A: turtle.screensize(500,500,0,0)
B: turtle.screensize(0,0,500,500)
C: turtle.setup(0,0,500,500)
D: turtle.setup(500,500,0,0)
答案:D
turtle.setup(width, height, startx, starty) 函数用于设置绘图窗口的大小和初始位置。参数 width 和 height 分别表示窗口的宽度和高度,而 startx 和 starty 表示窗口的初始位置。
在本题中,要设置画布高度为 500 像素,宽度为 500 像素,初始位置为 (0, 0)。所以,正确的代码是 turtle.setup(500, 500, 0, 0)。
第14题
下列变量名正确的是?( )
A: 54_name
B: name?
C: _name
D: ‘name’
答案:C
Python中的变量名需要遵循一定的规则:
变量名只能包含字母(大小写均可)、数字和下划线(_)。
变量名不能以数字开头。
变量名不能包含空格或其他特殊字符,如问号(?)。
变量名是区分大小写的。
第15题
想要计算456除以13的余数,可以使用的符号是?( )
A: *
B: %
C: //
D: #
答案:B
在Python中,取模运算符(%)可以用于计算两个数相除后的余数。在这种情况下,可以使用 456 % 13 来计算 456 除以 13 的余数。
第16题
下列运算符中,优先级最高的是?( )
A: !=
B: and
C: *=
D: *
答案:D
Python中的运算符具有不同的优先级,用于确定多个运算符在表达式中的计算顺序。乘法运算符(*)具有较高的优先级,这意味着它会在其他运算符(如加法、减法)之前进行计算。
第17题
已知变量a = 7,b = 8,执行语句a *= a + b后,变量a的值为?( )
A: 15
B: 22
C: 8
D: 105
答案:D
在该语句中,a *= a + b 是复合赋值运算符的一种形式,等效于 a = a * (a + b)。计算右侧表达式时,首先计算括号内的加法运算,得到 7 + 8 = 15。然后将变量 a 的当前值 7 与计算结果 15 相乘,得到 7 * 15 = 105。最后,将计算结果赋值给变量 a,因此变量 a 的值变为 105。
第18题
关于下面程序,描述正确的是?( )
import turtle
turtle.goto(100,100)
turtle.goto(100,-100)
turtle.goto(-100,-100)
turtle.goto(-100,100)
A: 运行代码后,会画出一个正方形。
B: 运行代码后,会画出一个正方形以及一条从(0, 0)到(100, 100)的连线。
C: 运行代码后,turtle面朝方向是水平向右。
D: 运行代码后,turtle面朝方向是竖直向上。
答案:C
根据 turtle 模块的默认行为,当 turtle 移动时,它的面朝方向是与当前位置和下一个位置之间的直线的方向相同。在这个程序中,turtle 在水平方向上移动,没有旋转,因此在绘制正方形的过程中,turtle 的面朝方向是水平向右。
第19题
运行下列代码,输出区会打印出?( )
a = int(3.2)
print(a)
A: 3
B: 程序运行错误,没有输出。
C: 3.3
D: True
答案:A
给定的代码首先使用 int(3.2) 将浮点数 3.2 转换为整数,并将结果赋值给变量 a。在 Python 中,通过 int() 函数可以将浮点数转换为最接近的整数。对于 3.2 来说,最接近的整数是 3。
第20题
下列关于python语言说法正确的是?( )
A: Python采用代码缩进和冒号’:'区分代码之间的层次。
B: 在IDLE编写代码时,使用中文输入代码中的小括号或者双引号,任何位置都不会产生语法错误。
C: Python32位和64位的安装包没有区别,可以任意使用一个。
D: Pycharm和Microsoft Visual Studio都可以用来编写Python程序,但是语法和IDLE不一致。
答案:A
在Python中,代码的缩进和冒号的使用非常重要,用于表示代码块之间的层次关系。代码块是一组逻辑上相关的代码,通常由冒号后的缩进空格或制表符来表示。这种缩进方式是Python语言的一部分,它强制要求开发者以一致的方式编写代码,提高了代码的可读性和可维护性。
第21题
小明家在A点的位置,学校在B点的位置,如果不绕路,从A到B的路线共有几条?( )
A: 1
B: 2
C: 4
D: 6
答案:C
第22题
下列程序的输出结果是?( )
a=4
b=3
c=2
print(a*b**c)
A: 24
B: 144
C: 36
D: 12
答案:C
给定的程序中,首先定义了三个变量 a、b 和 c,分别赋值为 4、3 和 2。
接下来,通过 print(a*b**c) 打印了一个表达式的结果。根据 Python 的运算符优先级,指数运算符 ** 具有较高的优先级,所以先计算 b**c,即 3 的 2 次方,结果为 9。
然后,将变量 a 的值 4 与计算结果 9 相乘,得到 4 * 9 = 36。
第23题
已知a=4,b=2,执行语句a*=a-b后,变量a的值是?( )
A: 8
B: 2
C: 14
D: 16
答案:A
给定的语句中,a*=a-b 是一个复合赋值运算符,相当于 a = a * (a - b)。首先计算括号内的表达式,即 a - b,其中 a 的值为 4,b 的值为 2,所以结果为 2。
然后,将变量 a 的值 4 与计算结果 2 相乘,得到 4 * 2 = 8。最后,将计算结果赋值给变量 a,使 a 的值更新为 8。
第24题
print(20 or 15<20)的输出结果为?( )
A: True
B: False
C: 20
D: 15
答案:C
在表达式 print(20 or 15<20) 中,使用了逻辑运算符 or。逻辑运算符 or 表示逻辑或操作,如果其中一个操作数为真(非零),则结果为真;只有在两个操作数都为假(零)时,结果才为假。
首先,判断第一个操作数 20 是否为真。由于 20 是非零值,它被视为真。
根据逻辑运算的短路规则,如果第一个操作数为真,整个表达式的结果就已经确定为真,不需要再计算第二个操作数。因此,第二个操作数 15<20 不会被计算。
所以,整个表达式的结果为 20。
第25题
在式子:2( )2;中间括号里填写哪个数学运算符,结果不等于4?( )
A: //
B: **
C: *
D: +
答案:A
// 表示整除运算符,如果填写这个运算符,结果将会是 2 // 2 = 1,不等于4
二、判断题(共10题,每题2分,共20分)
第26题
then属于Python的保留字。( )
答案:错误
在Python中,“then” 不是保留字(关键字)。Python的保留字是指被编程语言保留用于特定目的的标识符,而不能用作变量名或其他标识符。
Python的保留字包括但不限于以下单词:
-
False
-
True
-
None
-
and
-
as
-
assert
-
break
-
class
-
continue
-
def
-
del
-
elif
-
else
-
except
-
finally
-
for
-
from
-
global
-
if
-
import
-
in
-
is
-
lambda
-
nonlocal
-
not
-
or
-
pass
-
raise
-
return
-
try
-
while
-
with
-
yield
因此,“then” 不是Python的保留字。
第27题
在Python shell中输出“Hello,我的新朋友,很高兴认识你!”,正确的语句是print(Hello,我的新朋友,很高兴认识你!)。( )
答案:错误
在Python中,字符串需要使用引号括起来,可以是单引号或双引号。如果字符串中包含引号,则需要在字符串中使用不同类型的引号进行嵌套,或者使用转义字符 \
。
正确的语句应该是:
print("Hello,我的新朋友,很高兴认识你!")
在这个语句中,字符串被双引号括起来,可以正确地输出 “Hello,我的新朋友,很高兴认识你!”。请注意,print() 函数用于在 Python 中打印输出,字符串作为参数传递给这个函数来进行打印。
第28题
在Python中,”2022”与2022都属于字符串。( )
答案:错误
在Python中,“2022” 是一个字符串,而 2022 是一个整数。
第29题
在turtle绘图中,默认的形状是一个小海龟,有些程序完成后需要将小海龟进行隐藏,可以使用turtle.hideturtle()指令进行隐藏。( )
答案:错误
默认形状是箭头
第30题
如果想要将a=2 与 b=3的两个变量赋值写在一行指令中,可以写成 a=2;b=3 的格式。( )
答案:正确
在Python中,分号 ( ; ) 可以用于在一行中分隔多个语句。因此,可以使用分号将a=2和b=3的两个变量赋值写在一行指令中,格式为 a=2;b=3。
第31题
print(type(6/1.8)) 输出结果为。( )
答案:
输出结果为:<class ‘float’>
第32题
运行下面代码,可以在海龟画图窗口上画一个黑色边框,红色填充的圆。( )
import turtle
turtle.penup()
turtle.begin_fill()
turtle.color('black', 'red')
turtle.circle(100)
turtle.end_fill()
turtle.pendown()
turtle.forward(100)
答案:错误
第33题
可以用运算符*连接两个字符串,表示将两个字符串拼接到一起。( )
答案:错误
在Python中,运算符 * 用于执行乘法运算,而不用于连接字符串。要将两个字符串拼接在一起,应该使用加号 (+) 运算符。
第34题
在Linux系统上可以运行python。( )
答案:正确
Python 是一种跨平台的编程语言,可以在多个操作系统上运行,包括 Linux、Windows、macOS 等。在 Linux 系统中,Python 的解释器通常已经预安装了,可以直接运行。
第35题
Python启动后显示的提示符是>>> ( )
答案:正确
当启动 Python 解释器时,在交互式模式下,Python 会显示 >>> 作为提示符。这表示 Python 解释器已准备好接受用户输入代码并执行。
三、编程题(共2题,共30分)
第36题
每个人都知道自己的鞋码,但是不知道自己的脚长,请写一个程序,帮助大家利用鞋码算出脚长。
要求:
1.允许用户输入自己的鞋码,并有提示语’请输入你的鞋码:‘,不需要包括单引号;
2.计算鞋码,脚长 = (鞋码 + 10) / 2;
3.输出脚长,并有提示语’你的脚长是(单位:厘米):’,不需要包括单引号。
示例:
输入:38
输出:你的脚长是(单位:厘米):24.0
答案:
以下是一个Python程序,可以根据用户输入的鞋码计算脚长并输出结果:
shoe_size = float(input("请输入你的鞋码:"))
foot_length = (shoe_size + 10) / 2
print("你的脚长是(单位:厘米):", foot_length)
这个程序首先使用 input()
函数接收用户输入的鞋码,并将其转换为浮点数类型。提示语"请输入你的鞋码:"会显示在用户输入之前。
然后,根据鞋码计算脚长的公式 (鞋码 + 10) / 2
,并将结果存储在变量 foot_length
中。
最后,使用 print()
函数输出脚长的结果。提示语"你的脚长是(单位:厘米):"会显示在结果之前,然后输出计算得到的脚长值。
示例运行:
请输入你的鞋码:38
你的脚长是(单位:厘米): 24.0
根据示例中输入的鞋码38,程序计算得到的脚长是24.0厘米。
第37题
按照要求绘制一个五角星:
(1)海龟初始位置的坐标为(0,0);
(2)设置画笔大小为5,
(3)画笔颜色为红色(red);
(4)五角星填充颜色为黄色(yellow)。
(5)五角星大小不限,但是要能清晰看出是五角星,并且完全在考试平台上显示出来。
提示:五角星每个角为36度。
答案:
以下是使用Python的Turtle模块绘制一个符合要求的五角星的示例代码:
import turtle# 设置海龟初始位置和角度
turtle.penup()
turtle.goto(0, 0)
turtle.pendown()
turtle.setheading(0)# 设置画笔大小和颜色
turtle.pensize(5)
turtle.pencolor("red")# 设置填充颜色
turtle.fillcolor("yellow")# 开始绘制五角星
turtle.begin_fill()# 绘制五个角
for _ in range(5):turtle.forward(200)turtle.right(144)# 结束填充
turtle.end_fill()# 隐藏海龟
turtle.hideturtle()# 完成绘图
turtle.done()
在这个示例中,我们使用Turtle模块创建了一个海龟,并设置海龟的初始位置为(0, 0)。然后,我们设置画笔大小为5,画笔颜色为红色,填充颜色为黄色。
接下来,我们使用begin_fill()
开始填充颜色,然后使用一个循环绘制五个角,每个角的长度为200,角度为144度(五角星每个角为36度)。绘制完五个角后,使用end_fill()
结束填充。
最后,我们隐藏海龟,并使用turtle.done()
完成绘图。
运行这段代码,将会在绘图窗口中绘制一个符合要求的五角星,五角星的大小不限,但会清晰显示并完全在考试平台上显示出来。