青少年软件编程(Python)等级考试试卷(一级)
202109真题与解析
分数:100 题数:37 测试时长:60分钟
一、单选题(共25题,每题2分,共50分)
1. 取整除的运算符是?( )
A、/
B、//
C、÷
D、**
2. 下面的程序为海龟绘制正方形的程序,请选择正确选项将程序补全?( )
import turtle
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(?)
turtle.forward(100)
turtle.left(90)
A、90
B、-90
C、0
D、180
3. 已知a = 5,a *= 2,那么print(a)的结果为?()
A、5
B、2
C、10
D、20
4. Python程序保存后的扩展名是?( )
A、.pyt
B、.py
C、.pn
D、.ph
5. 关于turtle,以下描述错误的是?( )
A、turtle中的画笔不能设置不同的形状
B、turtle中的画笔可以设置移动的速度
C、turtle中的画笔可以设置不同的颜色
D、turtle中的画笔可以设置不同的大小
6. 运行以下代码,print(2021<=2020 or 2022>2018) 输出的结果是?( )
A、Flase
B、True
C、20212018
D、2022>2018
7. print("17 + 2")输出的结果是?( )
A、"17 + 2"
B、19
C、172
D、17 + 2
8. turtle.goto(x,y)的含义为下列选项的哪一个?( )
A、以目前坐标为原点,画一个边长为x和y的矩形
B、画笔提笔,移动到x,y的位置
C、按照现在画笔状态,将画笔移动到坐标为x,y的位置
D、将目前原点移动到x,y的位置
9. turtle.circle(150,steps=5)命令能绘制出以下哪个图形?( )
A、直径(从顶点到图形中心的距离的2倍)为150像素的圆内接正五边形
B、半径(从顶点到图形的中心)为150像素的圆内接正五边形
C、半径(从顶点到图形的中心)为150像素的圆内接五角星
D、边长为150像素的正五边形
10. 关于Python的编程环境,下列表述是错误的是?( )
A、Python有多种编程环境
B、Python自带的编程环境是IDLE
C、Python的编程环境是纯图形化的
D、Python可以导入多个第三方库
11. 下面哪一条命令是用来定义画笔宽度的?( )
A、turtle.pencolor()
B、turtle.speed()
C、turtle.pensize()
D、turtle.shape()
12. 请观察以下数字的规律:2+6,3+8,4+10,( ),6+14,请问括号中应该填写什么?( )
A、5+11
B、5+12
C、4+9
D、6+13
13. 海龟绘图时,使用speed(n),当n的值是多少时,绘图的速度最快?( )
A、3
B、2
C、1
D、0
14. print(51%10)输出的结果是?( )
A、1
B、0
C、True
D、False
15. 下列哪个函数的功能是进行输出?( )
A、print()
B、input()
C、get()
D、range()
16. print(4+6*2+8)的结果是?( )
A、100
B、24
C、64
D、28
17. 下面print语句,哪一个是正确的用法?( )
A、print"(welcome!)"
B、print("welcome"!)
C、print("welcome!')
D、print("welcome!")
18. turtle回到原点的命令是?( )
A、hideturtle()
B、clear()
C、circle()
D、home()
19. 逻辑运算符中(注意不是所有的运算符,只是逻辑运算符),优先级最高的是?( )
A、or
B、and
C、not
D、**
20. 观察下面的程序,运行结果为?( )
a=8
a+=1
print(a)
a*=10
print(a)
a**=2
print(a)
A、9
B、90
C、8100
D、9
90
8100
21. a="Python2",b="Python3",c=a+b,print(c)的结果是?( )
A、5
B、Python5
C、c
D、Python2Python3
22. a=1.27
print (eval('a+10'))
上述代码的执行结果是?( )
A、1.2710
B、系统报错
C、11.27
D、1.27+10
23. 使用哪个函数可以把字符串'123'转换为整型123?( )
A、num()
B、str()
C、float()
D、int()
24. 关于变量的说法,错误的是?( )
A、变量必须要命名
B、变量第二次赋值后,第一次赋的值将被删除
C、变量可以用来存储数字,也可以存储文字
D、在同一个程序里,变量名能重复
25. 关于Python的编程环境,下列的哪个表述是不正确的?( )
A、Python自带的编程环境是IDLE
B、下载安装好Python软件后,无需单独下载IDLE
C、IDLE的交互式编程模式中,可以一次写入多行无缩进的语句代码,然后进行运行
D、为了保存编写的代码,我们通常使用IDLE中的脚本式编程模式
二、判断题(共10题,每题2分,共20分)
26. 运行下列Python代码后,a和b的数据类型均为字符串。 ()
代码:
a ='5'
b ="6"
27. 在turtle库中,画笔的起点在画布的正中央,turtle.goto()、turtle.setx()和turtle.sety()使用的都是基于中心点(0,0)的绝对坐标。()
28. turtle.shape("square")命令可以将 turtle 形状设置为海龟。()
29. and是Python中常用的保留字,不可以作为变量名。()
30. Python的IDLE编程中有交互式和脚本式两种编程方式。()
31. 程序:a=b中,a是变量,b是值。()
32. from,False,improt,as是Python中常用保留字,不可以作为变量名。()
33. input()语句是用来输入一个指令。()
34. 语句:
b=3
c=a+b
print(c)
的显示结果是3。()
35. Python代码的注释只有一种方式,那就是使用#符号。()
三、编程题(共2题,共30分)
36. 龟兔赛跑,兔子刚开始跑得非常快,但是兔子太骄傲了,在领先乌龟100米时,自行休息睡着了,乌龟一步一步进行追赶,乌龟的速度是V m/s(V<10),请计算出乌龟多长时间就可以追上兔子呢?要求:
(1) 程序开始运行时,询问请输入乌龟爬行的速度,输入一个数字;
(2) 程序根据输入的数字计算出乌龟需要多长时间就可以追上兔子;
(3) 输出的格式为:“乌龟能够追上兔子所需的时间是:*秒。”。
37. 绘制如下图形:
(1)画一个由一个正方形和一个菱形组成的图形,其中,正方形的边长为200象素,菱形的四个顶点均在正方形四条边的中点上;
(2)设置画笔速度为1;
(3)菱形的填充颜色为红色,所有线条为黑色;
(4)画图结束,隐藏并停止画笔。
参考答案及解析:
一、单选题答案及解析
1. B
- 解析:在 Python 中,取整除的运算符是“//”。“/”是普通除法;“÷”不是 Python 的运算符;“**”是幂运算。
2. A
- 解析:画正方形每次前进后需左转 90 度,已经转了三次 90 度,第四次也应左转 90 度。
3. C
- 解析:“a *= 2”相当于“a = a * 2”,已知“a = 5”,计算可得“a = 10”。
4. B
- 解析:Python 程序保存后的扩展名是“.py”。“.pyt”、“.pn”、“.ph”都不是 Python 程序的扩展名。
5. A
- 解析:在 turtle 中,画笔可以设置不同的形状、移动速度、颜色和大小。
6. B
- 解析:“2021 <= 2020”为 False,“2022 > 2018”为 True,“False or True”结果为 True。
7. D
- 解析:“print("17 + 2")”输出的是字符串“17 + 2”。
8. C
- 解析:“turtle.goto(x,y)”是按照现在画笔状态,将画笔移动到坐标为 x,y 的位置。A 选项描述错误;B 选项不是提笔移动;D 选项不是移动原点。
9. B
- 解析:“turtle.circle(150, steps = 5)”是画半径为 150 像素的圆内接正五边形。A 选项直径描述错误;C 选项不是五角星;D 选项不是边长为 150 像素的正五边形。
10. C
- 解析:Python 的编程环境不是纯图形化的,有 IDLE 等多种编程环境,自带的是 IDLE,可以导入多个第三方库。
11. C
- 解析:“turtle.pensize()”是用来定义画笔宽度的。“turtle.pencolor()”设置画笔颜色;“turtle.speed()”设置画笔速度;“turtle.shape()”设置画笔形状。
12. B
- 解析:规律是第一个数依次加 1,第二个数依次加 2,括号处应为 5+12。
13. D
- 解析:在 turtle 中,“speed(n)”当 n 的值是 0 时,绘图速度最快。
14. A
- 解析:“51 % 10”是求 51 除以 10 的余数,结果为 1。
15. A
- 解析:“print()”函数的功能是进行输出。“input()”是获取用户输入;“get()”不是 Python 中的通用输出函数;“range()”用于生成一个整数序列。
16. B
- 解析:先计算乘法“6 * 2 = 12”,再依次计算加法“4 + 12 + 8 = 24”。
17. D
- 解析:A 选项引号使用错误;B 和 C 选项括号和引号不匹配;D 选项正确。
18. D
- 解析:“turtle.home()”是让海龟回到原点。“hideturtle()”是隐藏海龟;“clear()”是清空画布;“circle()”是画圆。
19. C
- 解析:在逻辑运算符中,优先级最高的是“not”,其次是“and”,最后是“or”。
20. D
- 解析:先“a += 1”,“a”变为 9;再“a *= 10”,“a”变为 90;最后“a **= 2”,“a”变为 8100。
21. D
- 解析:“a = "Python2"”,“b = "Python3"”,“c = a + b”是字符串拼接,结果为“Python2Python3”。
22. C
- 解析:上述代码中,eval()函数的作用是将字符串作为 Python 表达式进行求值。首先,变量a被赋值为1.27。然后,eval('a+10')会将字符串'a+10'作为表达式进行求值,此时会将变量a的值(1.27)代入表达式,即计算 1.27+10 的结果。1.27+10=11.27。答案是 C。
23. D
- 解析:“int()”函数可以把字符串“'123'”转换为整型 123。“num()”不是标准函数;“str()”是将其他类型转换为字符串;“float()”是转换为浮点数。
24. D
- 解析:在同一个程序里,变量名不能重复。变量必须要命名,第二次赋值后第一次赋的值将被删除,变量可以用来存储数字或文字。
25. C
- 解析:IDLE 的交互式编程模式中,不能一次写入多行无缩进的语句代码然后进行运行,通常是逐行执行。A、B、D 选项正确。
二、判断题答案及解析
26. √
- 解析:“a = '5'”和“b = "6"”,“a”和“b”都是字符串类型。
27. √
- 解析:在`turtle`库中,画笔的起点在画布的正中央,`turtle.goto(x,y)`可以将画笔移动到绝对坐标位置`(x,y)`;`turtle.setx(x)`设置画笔的 x 坐标为给定的绝对坐标值`x`;`turtle.sety(y)`设置画笔的 y 坐标为给定的绝对坐标值`y`。它们使用的都是基于中心点`(0,0)`的绝对坐标。 所以这句话是正确的。
28. ×
- 解析:“turtle.shape("square")”命令可以将 turtle 形状设置为正方形,不是海龟。
29. √
- 解析:“and”是 Python 中的保留字,不能作为变量名。
30. √
- 解析:Python 的 IDLE 编程中有交互式和脚本式两种编程方式。
31. √
- 解析:在 “a = b” 中,a 通常被用作变量来接收值 b,该说法正确。
32. ×
- 解析:在 Python 中,正确的是 “import” 而不是 “improt”。“import” 是用于导入模块的关键字。
33. ×
- 解析:“input()”语句是用来获取用户输入的内容,不是输入一个指令。
34. ×
- 解析:代码中“c = a + b”,在没有给“a”赋值的情况下会报错,不会显示结果是 3。
35. ×
- 解析:Python 代码的注释有单行注释“#”和多行注释“''' '''”或“""" """”两种方式。
三、编程题解析
36. Python 程序参考代码:
v = float(input("请输入乌龟爬行的速度:"))
time = 100 / v
print(f"乌龟能够追上兔子所需的时间是:{time}秒。")
- 参考代码:
import turtle as t
# 导入 turtle 库并将其重命名为 t,以便后续使用。
t.speed(1)# 设置画笔移动速度为 1,速度较慢方便观察绘图过程。
for i in range(4):
t.fd(200)
t.left(90)
# 使用循环绘制一个边长为 200 的正方形。
t.fd(100)# 从正方形的右下角向前移动 100 像素。
t.color('black','red')# 设置画笔颜色为黑色,填充颜色为红色。
t.begin_fill()
# 开始填充图形。
t.goto(200,100)
t.goto(100,200)
t.goto(0,100)
t.goto(100,0)
# 依次移动到指定坐标点,绘制一个菱形。由于四个边长度相等且对角线互相垂直平分,所以这是一个菱形。
t.end_fill()
# 结束填充图形。
t.ht()
# 隐藏画笔(turtle),使绘图窗口中不显示画笔图标。
总结:这段代码利用 Python 的`turtle`库首先绘制了一个边长为 200 的正方形,接着从正方形的右下角向前移动 100 像素,然后以黑色画笔和红色填充颜色绘制了一个菱形,最后隐藏了画笔。