青少年软件编程(Python)等级考试试卷(一级)
202312真题与解析
分数:100 题数:37 测试时长:60分钟
一、单选题(共25题,共50分)
1.下列程序运行的结果是?( )
print('hello')
print('world')
A. helloworld
B. hello
world
C. hello world
D. 'hello''world'
2.下列哪段代码可以将画笔颜色设置为红色?( )
A. turtle.pen('red')
B. turtle.fillcolor('red')
C. turtle.colormode('red')
D. turtle.pencolor('red')
3.运行下列程序打印的结果是?( )
a = '90'
b = '80'
c = int(a)
d = int(b)
print(c + d)
A. 8090 B. 170 C. 80 D. 90
4.如图所示,小明想要将中间柱子的三个盘子转移到右侧的柱子,规则是每次只能挪动一个圆盘,小盘只能放到大盘上边,可以借助左侧的柱子完成任务。请问最少需要几步可以完成这个任务?( )
A.6 B.7 C.8 D.9
5.下列程序运行的结果是?( )
a=5
b=2
a-=b
print(a)
A.4 B.1 C.3 D.2
6.下列对python变量名命名错误的是?( )
A.123 B.abc C._123 D._abc
7.下列哪个选项的代码,可以画出一个直径(注意是直径,不是半径)为100的半圆?( )
A. turtle.circle(100,360) B. turtle.circle(50,180)
C. turtle.circle(100,180) D. turtle.circle(50,360)
8.下列不属于Python保留字符的是?( )
A. Turtle B. if C. import D. for
9. print(2023 % 10 ** 2)的结果是?( )
A. 200 B. 23 C. 20 D. 20.23
执行下列turtle库的指令后,画笔最终为哪种颜色?( )
t.pencolor('blue')
t.color('red','green')
t.fillcolor('yellow')
A.黄色 B.红色 C.蓝色 D.绿色
11.下列哪个软件或者编辑器不能打开Python3的程序?( )
A. VSCode B. Python Sell-IDLE
C. Jupyter Notebook D. 官方的Scratch
12.运行程序:print(not(5*2+6) > 8+3*3),它的输出结果是?( )
A.False B.True C.1 D.无法确定
13.在Python中,语句 print(a,b) 的功能是?( )
A.打印a, b B.输出(a, b) C.输出a, b D.输出a, b的值
14.下列哪个表达式最终的结果为整数类型?( )
A.5.0 % 2 B.5.0 + 2 C.5 / 2 D.5 // 2
15.想要安装Python,已知以下的操作步骤,请问哪些是必须的?( )
①查看电脑的操作系统
②找到对应python版本下载
③下载IDLE
④下载Turtle库
A.①②③④ B.①② C.①②③ D.②③④
16.已知以下指令,想要绘制一个画笔粗细为5,颜色为红色,半径为50的圆,请问正确的排序方式是?( )
① turtle.pencolor("red")
② import turtle
③ turtle.pensize(5)
④ turtle.circle(50)
A.①②③④ B.①③②④ C.②③①④ D.③④①②
17.如图所示,一个填充颜色为黑色,边长为100的正方形里边嵌套了一个填充颜色为白色,边长为50的正方形,请问求图形中黑色部分的面积算式是?( )
(100*2)-(50*2)
(100*4)-(50*4)
(100**2)-(50**2)
D. 100*50
18.如果想要获取用户输入的字符串,下列选项正确的是?( )
A. input("请输入一个字符串:")
B. int(input("请输入一个字符串:"))
C. float(input("请输入一个字符串:"))
D. eval(input("请输入一个字符串:"))
19.在下列Python运算符中,下列哪个运算符具有最高的优先级?( )
A.+ B.> C.* D.-
20.如果a=145,b=90,c=a>b,那么c的值是?( )
A.False B.90 C.145 D.True
21.执行完下列代码后,坐标的位置是?( )
import turtle
turtle.penup()#抬起画笔
turtle.goto(-50,0)
turtle.pendown()
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.done()
A.(0,0) B.(-50,0) C.(50,-50) D.(50,-100)
22.下列导入Turtle库的方式正确的是?( )
A.import(turtrle) B.Import turtle
C.import turtle D.import turtrle as
23.下列程序中,注释的使用有错误,但是不知道有几处是错误的,请找出来有几处错误?( )
01 a = float(input('输入第一条边长:')) #输入第一条边
02 b = float(input('输入第二条边长:')) #输入第二条边
03 c = float(input('输入第三条边长:')) #输入第三条边
04 """
05 求周长的一半
06 '''
07 p = (a+b+c)/2
A.1处错误 B.2处错误 C.3处错误 D.0处错误
24.观察下列程序,程序运行后输出结果是?( )
A.7 B.7.0 C.z= 7 D.z=7.0
25.在海龟绘图中,turtle具有绝对方向,对应的命令为turtle.setheading(angel),若想要让小海龟面向屏幕的下方,下列指令使用正确的是?( )
A. turtle.setheading(-180) B. turtle.setheading(-90)
C. turtle.setheading(90) D. turtle.setheading(0)
二、判断题(共10题,共20分)
26.小海龟初始在坐标 (0,0) 的位置,方向朝左,在执行 turtle.goto(100,0) 后,小海龟会往右移动100,并且方向朝右。( )
circle(100,steps=4),指的是绘制一个边长是100的正方形。( )
28.Python语言简洁、易懂、库文件丰富,可以用在很多应用领域。( )
29.变量名的大小写是没有区别的,Name与name表示的是同一个变量。( )
30.执行下列语句,输入"学校",程序最终输出的text结果是"小明同学在学校" 。( )
text = input("小明同学在")
print(text)
31.在IDLE的交互模式启动后,可以直接编写程序并运行,无需切换到脚本模式。( )
32.Python中的字符串,整型,浮点型三种数据类型之间完全都可以互相转化。( )
33.在Python程序中,双引号和三引号都是引号,没有用法区别,可以随意替换。( )
34.print('Hello, World!")代码段会引发报错。( )
35.在Python语言中,变量的定义和赋值是同时进行的,不需要在赋值前定义变量 。( )
三、编程题(共2题,共30分)
36.编写一个程序,其功能为:从键盘输入任意三位整数,计算这个整数的百位数字、十位数字、个位数字之和,以及它们的平均值,并输出计算结果。
样例如下:
输入:123
输出:6 2.0
37.十一国庆节期间,爸爸带着小明到北京天安门广场观看升旗仪式。在庄严的国歌声中,五星红旗冉冉升起,小明看到国旗上的五个五角星,想要用Python画一个红五角星,你可以帮帮他吗?(提示:五角星的外角为144度)
要求:
(1)五角星为镂空五角星,如图所示;
(2)五角星的每条边的长度为200;
(3)画笔颜色为红色;
(4)画笔粗细为5;
(5)最后将画笔隐藏。
(8)五角星工整,符合题目要求。
参考答案及解析:
一、单选题答案及解析
1. B
- 解析:`print`函数默认会在输出后换行,所以会先输出“hello”,然后换行输出“world”。
2. D
- 解析:`turtle.pencolor('red')`可以将画笔颜色设置为红色。`turtle.pen('red')`语法错误,`turtle.fillcolor('red')`设置填充颜色,`turtle.colormode('red')`设置颜色模式。
3. B
- 解析:`a = '90'`和`b = '80'`是字符串,`int(a)`将字符串“90”转换为整数 90,`int(b)`将字符串“80”转换为整数 80,两者相加结果为 170。
4. B
- 解析:汉诺塔问题,三个盘子的移动最少需要 7 步。
5. C
- 解析:`a -= b`相当于`a = a - b`,`a = 5`,`b = 2`,则`a = 5 - 2 = 3`。
6. A
- 解析:Python 变量名不能以数字开头,所以“123”不能作为变量名。
7. B
- 解析:在 Python 的`turtle`库中,`turtle.circle(radius, extent)`函数用于画圆或圆弧,其中`radius`是半径,`extent`是圆弧的角度。A画的是一个半径为 100 的整圆。B画的是一个半径为 50 的半圆。C画的是一个半径为 100 的半圆,但题目要求是直径为 100 的半圆,即半径为 50 的半圆,所以该选项错误。D画的是一个半径为 50 的整圆。答案是 B。
8. A
- 解析:“Turtle”不是 Python 保留字,“if”“import”“for”都是保留字。
9. B
- 解析:`10 ** 2`是 100,`2023 % 100`结果是 23。
10. B
- 解析:先设画笔为蓝色,后设为红色,最后设填充色为黄色不影响画笔颜色,所以画笔最终为红色,答案是 B。
11. D
- 解析:Scratch 不能打开 Python 3 的程序,VSCode、Python Shell-IDLE、Jupyter Notebook 都可以打开 Python 程序。
12. B
- 解析:先计算`5*2+6 = 16`,`8+3*3 = 17`,`16 > 17`结果为 False,`not False`结果为 True。
13. D
- 解析:`print(a,b)`输出变量`a`和`b`的值。
14. D
- 解析:`5 // 2`是整数除法,结果为整数 2。`5.0 % 2`结果是浮点数,`5.0 + 2`结果是浮点数,`5 / 2`结果是浮点数。
15. B
- 解析:安装 Python 时需要先查看电脑的操作系统,然后找到对应版本下载,IDLE 和 Turtle 库一般在安装 Python 时会自动安装,不是必须单独下载。
16. C
- 解析:先导入`turtle`模块,然后设置画笔粗细、颜色,最后画圆。
17. C
- 解析:大正方形面积是`100**2`,小正方形面积是`50**2`,黑色部分面积是大正方形面积减去小正方形面积。
18. A
- 解析:`input("请输入一个字符串:")`可以获取用户输入的字符串。`int(input())`和`float(input())`用于获取整数和浮点数,`eval(input())`用于评估输入的表达式。
19. C
- 解析:在 Python 中,运算符的优先级从高到低依次是:`*`(乘法)、`+`(加法)、`-`(减法)、`>`(比较运算符)。
20. D
- 解析:`a = 145`,`b = 90`,`a > b`结果为 True,所以`c = True`。
21. D
- 解析:初始坐标为(-50,0)。执行`turtle.forward(100)`后变为(50,0),再执行`turtle.right(90)`和`turtle.forward(100)`后到达(50,-100)。答案是 D。
22. C
- 解析:正确导入`turtle`库的方式是`import turtle`。
23. A
- 解析:注释中使用三引号有错误,三引号应该是三个连续的单引号或双引号,要配对使用。第6行错误,应该为三个双引号。
24. D
- 解析:带入计算为z=6.0+1.0 结果为z=7.0。
25. B
- 解析:小海龟面向屏幕下方时,角度是-90 度。
二、判断题答案及解析
26. ×
- 解析:小海龟在执行`turtle.goto(100,0)`后,会向右移动 100,但方向不变。
27. ×
- 解析:`circle(100, steps=4)`是绘制一个半径为 100 的正四边形(正方形),不是边长为 100 的正方形。
28. √
- 解析:Python 语言具有简洁、易懂、库文件丰富等特点,可以应用于很多领域。
29. ×
- 解析:Python 中变量名大小写是有区别的,`Name`与`name`表示不同的变量。
30. ×
- 解析:输入“学校”后,程序输出的是“学校”,不是“小明同学在学校”。
31. √
- 解析:在 IDLE 的交互模式启动后,可以直接编写程序并运行,无需切换到脚本模式。
32. ×
- 解析:Python 中的字符串、整型、浮点型三种数据类型不是完全都可以互相转化,比如某些字符串不能直接转化为数字类型。
33. ×
- 解析:双引号和三引号在 Python 中有不同的用法,不能随意替换。双引号用于表示一般的字符串,三引号可以表示多行字符串。
34. √
- 解析:`print('Hello, World!")`中引号不匹配,会引发报错。
35. √
- 解析:变量的定义和赋值是同时进行的。
三、编程题解析
参考代码:
num = int(input("输入:"))# 从键盘获取一个整数输入,并转换为整数类型赋值给变量 num。
a = num // 100# 计算输入整数的百位数字,通过整数除法得到百位数字并赋值给变量 a。
b = (num // 10) % 10# 先通过整数除法得到去掉个位后的数,再对 10 取余得到十位数字,赋值给变量 b。
c = num % 10# 对输入整数对 10 取余得到个位数字,赋值给变量 c。
d = a + b + c# 计算百位、十位、个位数字之和,赋值给变量 d。
e = d / 3# 计算百位、十位、个位数字之和的平均值,赋值给变量 e。
print(d, e)# 输出数字之和以及平均值。
总结:这段代码的功能是从键盘接收一个任意的三位整数,通过数学运算分别提取出这个整数的百位数字、十位数字和个位数字,然后计算这三个数字的和以及它们的平均值,并将结果输出
37. 参考代码:
import turtle as t# 导入 turtle 库并将其重命名为 t,方便后续调用。
t.pensize(5)# 设置画笔的粗细为 5。
t.pencolor('red')# 设置画笔颜色为红色。
#画五角星
for i in range(5): # 创建一个循环,循环次数为 5。
t.fd(200)# 向前移动 200 个单位。
t.right(144)# 向右转 144 度。
t.ht()
# 隐藏海龟指针。
总结:这段代码使用`turtle`库绘制了一个五角星。首先设置画笔的粗细和颜色,然后通过循环五次,每次向前移动一定距离并右转特定角度来绘制五角星的五条边,最后隐藏海龟指针。整体功能是通过一系列的绘图操作和循环来创建一个特定形状的图形。