2020年12月 青少年软件编程(Python)等级考试(一级)真题及深度解析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020年12月 青少年软件编程(Python)等级考试(一级)真题及深
度解析
分数:100 题数:37
一、单选题(共25题,每题2分,共50分)
1.执行语句print(10==10.0)的结果为?( )
A. 10
B. 10.0
C. True
D. False
【答案】C
【考查】比较运算符==
10是整数(int)类型数字,10.0是浮点(float)类型数字,在判断比较的时候,计算机会尝试将int类型转换为float类型(往精度更高的数据类型去转换),然后进行比较。
这时,10==10.0条件成立,返回True。
2.执行语句y=4**3后,变量y的值为?( )
A. 0
B. 12
C. 64
D. 81
【答案】C
【考查】幂运算符**
幂运算符,就是数学中的次方的概念,比如5**2其实就是5²,也就是5 * 5 = 25。
题目4**3,也就是4 * 4 * 4 = 64。
3.执行(2*3)/(9-3*2)输出的结果是什么?( )
A. 1
B. 2.0
C. 2
D. 1.0
【答案】B
【考查】基本运算
完全等同于数学计算中的先乘除后加减,括号优先的计算思路。
要注意的是,python 中“/”运算符,在结果为整数的时候,结果将保留一位小数。
4.print(12.34-1.34)的输出结果是?( )
A. 11
B. 11.0
C. 11.00
D. 12.34-1.34
【答案】B
【考查】基本运算
浮点数(float)的运算,当结果为整数时,会默认保留一位小数。
5.已知变量a=2,b=3,执行语句a%=a+b后,变量a的值为?( )
A. 0
B. 2
C. 3
D. 12
【答案】B
【考查】基本运算
a%=a+b,运算的顺序,首先是算a+b,得到5,然后a%=a+b,实际上是等于
a=a%(a+b),也就是2%5,结果是2。
这里要注意,%是取余,//是取商,/是除法
取结果。
比如3%7=3,3//7=0,3/7=0.42857142857142855。
6.Turtle库中,画笔绘制的速度范围为?( )
A. 任意大小
B. 0到10之间的整数(含0和10)
C. 1到10之间的整数(含1和10)
D. 0到100之间的整数(含0和100)
【答案】B
【考查】画笔设置
turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数,0最快,[1-10]数字越大越快。
'fast' : 10
'normal' : 6
'slow' : 3
'slowest' : 1
7.print("a"+'b'*2) 结果是?( )
A. ab2
B. abb
C. abab
D. ab
【答案】B
【考查】基本运算(字符串的拼接)
'b' * 2 是字符串的乘法,等于 'bb' , + 表示字符串的拼接,"a" + 'bb' 等于 abb。
双引号和单引号在python中是一样的,都是表示字符串的意思,但必须注意要成对出现。
8.Python编程语言的注释语句是以( )开头的?
A. '
B. //
C. #
D. {
【考查】代码注释
解析:注释单行用#,注释多行用成对的三对引号,并且引号可以是单引号,也可以是双引号。
9.a="我要做作业",b=“我要学习”,以下哪种是可以输出这两句中文的?
( )
A. print(a+b);
B. print('a'+'b');
C. print ("a+b");
D. print("a"+"b");
【答案】A
【考查】基本运算(字符串的拼接)
a,b分别为两个已知变量,均为字符串类型。
选项A,a+b等于两个字符串变量a和b的拼接,所以会输出我要做作业我要学习。
选项B会输出ab
选项C会输出a+b
选项D会输出ab
10.type() 函数返回对象的类型,那么print(type("7654"))输出的结果是?
( )
A. <c lass 'str'>
B. <c lass 'int'>
C. <c lass 'float'>
D. <c lass 'bool'>
【答案】A
【考查】编程基础(基础函数)
type是python中的函数,作用是返回数据的类型。
"7654"是字符串类型,所以会返回<c lass 'str'>。
11.Python中,用什么方式实现代码快速缩进?( )
A. 按4次空格键
B. tab键
C. shift+tab键
D. Alt+tab键
【答案】B
【考查】代码缩进
python中,按4次空格键可以实现缩紧,快捷键是tab键。
1个tab=4个空格。
12.print(3456%100)的结果是?( )
A. 34.56
B. 34
C. 56
D. 34.5
【考查】基本运算
python中,%是取余。
13.在turtle库中的指令,以下哪个不会使得海龟发生位置移动变化的?( )
A. 在turtle库中的指令forward()
B. 在turtle库中的指令g oto()
C. 在turtle库中的指令setup()
D. 在turtle库中的指令home()
【答案】C
【考查】画笔操作,画布设置
选项A中,forward()是让画笔向前移动。
选项B中,g oto()是让画笔移动到某一坐标位置。
选项C中,setup()设置主窗体的大小和位置。
选项D中,home()是让画笔回到原点位置。
所以选C。
14.下列哪个函数的功能是将字符串和数字转换成整数?( )
A. float
B. int
C. round
D. ord
【考查】基本运算(常用函数)
选项A中,float是将字符串和数字转换为浮点数。
例如:
>>> print (float(1))
1.0
>>> print (float("3.4"))
3.4
选项B中,int是将字符串和数字转换为整数。
选项C中,round是四舍六入,python3中如果是五,距离两边一样远,会保留到偶数的一边。
例如:
>>> round(4.5)
4
>>> round(5.5)
6
选项D中,ord是返回字符的A S C II码值。
15.Turtle库中,用于将画笔移动到坐标(x,y)位置的命令是?( )
A. turtle.g o(y,x)
B. turtle.g o(x,y)
C. turtle.g oto(x,y)
D. turtle.g oup(x,y)
【答案】C
【考查】画笔操作
turtle库中,g oto命令用于将画笔移动到某一坐标位置(x,y)。
16.以下哪个变量命名不符合Python规范?( )
A. 语言='P ython'
B. _lan g ua g e=‘P ython’
C. lan g ua g e=‘P ython’
D. .lan g ua g e=‘P ython’
【答案】D
【考查】变量的命名与使用
P ython语言的变量可以以字母、下划线开头,后面跟上任意数目的字母、数字和下划线。
这里的字母不局限于26个英文字母,可以包括中文字符、日文字符等。
选项D中,以 . 号开头,不符合规范。
17.以下哪个不是Python开发工具?( )
A. idle
B. j upyter
C. shell
D. py c harm
【答案】C
【考查】P ython版本及开发工具
P ython常见的开发工具有,idle,j upyter,py c harm,v isual studio c ode。
18.下列代码运行的结果是?( )
a=0
b=False
print(a==b)
A. 0
B. False
C. True
D. error
【答案】C
【考查】比较运算符
在P ython中,True对应的数值是1,False对应的数值是0。
所以用比较运算符比较a和b的值是相等的,返回True。
19.要抽出一个三位数的个位上的数字,如三位数479,可以输入以下哪个代
码可以获得其中的个位数上的9?( )
A. print(479%10//10)
B. print(479//10//10)
C. print(479%10%10)
D. print(479//10%10)
【答案】C
【考查】基本运算
%是取余,//是取商。
选项A,479%10//10 得到0。
选项B,479//10//10 得到4。
选项C,479%10%10 得到9。
选项D,479//10%10 得到7。
所以选C。
20.下面图形最有可能是哪个选项的代码执行后的效果?( )
A. import turtle
B. import turtle
turtle.pensi z e(5) turtle.pensi z e(5)
turtle.be g in_fill() turtle.c olor('red')
turtle.c olor('red') turtle.be g in_fill()
turtle.fill c olor('yellow') turtle.fill c olor('yellow')
turtle.c ir c le(50,steps=6) turtle.c ir c le(50,steps=6) turtle.end_fill() turtle.end_fill()
turtle.hideturtle() turtle.hideturtle()
C. import turtle
D. import turtle
turtle.pensi z e(5) turtle.pensi z e(5)
turtle.fill c olor('red') turtle.be g in_fill()
turtle.be g in_fill() turtle.c olor('red','yellow')
turtle.c olor('yellow') turtle.c ir c le(50,steps=6)
turtle.c ir c le(50,steps=6) turtle.end_fill()
turtle.end_fill() turtle.hideturtle()
turtle.hideturtle()
【答案】C
【考查】画笔操作
这道题重点是图形边框和填充都是黄色的。
选项A、B、D画出来的图形均为
选项A中,c olor('red')设置了画笔线条及填充都为红色,所以会导致画出来的图形,带红色边框。
选项B中,问题同选项A。
选项D中,c olor('red','yellow')是将画笔线条颜色设置为红色,填充色设置为黄色。
选项C中,虽然一开始通过fill c olor('red')设置了填充色为红色,但是通过
c olor('yellow')将画笔线条及填充都为黄色。
画出来的正好是题目的要求。
21.海龟作图中,默认的海龟方向的朝向是?( )
A. 朝左
B. 朝右
C. 朝上
D. 朝下
解析:
【答案】B
【考查】画笔操作
海龟画笔的默认方向是向右。
如果要调整方向,可以通过left,ri g ht,setheadin g等函数来调整。
22.print(2*3>4*2 or "121">"12" and 7%3==4%3)结果是?( )
A. False
B. True
C. 3
D. 4
【答案】B
【考查】简单逻辑运算符
2*3>4*2结果是False,因为6小于8
"121">"12"结果是True,因为字符串的比较,是每个字符按as c ii码比较,首先是'121'的'1'和'12'的'1'相同;再者'121'的'2'和'12'的'2'相同;但是'121'还有一个'2','12'则没有了。
所以'121'>'12'。
7%3==4%3结果是True,因为%是取余,两者余数都是1。
所以题目等价于False or True and True。
补充个知识点,not、and、or的优先级是not > and > or
所以求False or True and True可以拆分为:
1.先求True and True,得到True
2.求False or True,得到True
所以答案为B
23.在turtle库中的指令,以下哪条指令与颜色无关的?( )
A. 在turtle库中的指令fill c olor()
B. 在turtle库中的指令pen c lor()
C. 在turtle库中的指令c olor()
D. 在turtle库中的指令penup()
【答案】D
【考查】画笔设置
fill c olor是设置图形填充色的函数,pen c olor是设置画笔颜色的函数,c olor可以同时设置图形填充色以及画笔颜色的函数,penup是抬笔的函数,和颜色无关。
24.下列代码的运行结果是?( )
print('a'< 'b')
A. a
B. b
C. True
D. False
【答案】C
【考查】比较运算符
字符串的比较,实际上A S C II码值的比较。
a对应的A S C II码的十进制是97,b对应的A S C II码的十进制是98,所以b比a大,所以此比较运算符返回True。
拓展:A S C II ((Ameri c an S tandard Code for I nformation I nter c han g e): 美国信息交换标准代码)是基于 拉丁字母的一套电脑编码 系统,主要用于显示现代 英语和其他西欧语言。
它是最通用的 信息交换 标准,并等同于国际 标准ISO/IE C 646。
A S C II第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符。
25.Turtle库中,设置画粗细的命令是?( )
A. turtle.pensi z e()
B. turtle.penwidth()
C. turtle.penpoint()
D. turtle.pen c olor()
【答案】A
【考查】画笔设置
设置画笔粗细的函数是pensi z e()。
si z e是大小的意思,在画笔上的体现就是粗细。
二、判断题(共10题,每题2分,共20分)
26.Python文件的后缀名可以使.py和.pyw。
( )
【答案】正确
【考查】P ython编程基础要素
python文件可以有两种后缀名,一种是常规的py,一种是pyw(面向视窗开发)。
拓展:.pyw 格式是被设计来运行开发完成的纯图形界面程序的。
纯图形界面程序的用户不需要看到控制台窗口。
值得一提的是,开发纯图形界面程序的时候,你可以暂时把 .pyw 改成 .py ,以便运行时能调出控制台窗口,看到所有错误信息,方便调试。
27.Python代码语句:
s=23.4
t=int(s)+1
那么print(t)的结果为24.4。
( )
【答案】错误
【考查】数值类型转换
int函数是将输入转换成整型的函数,所以int(23.4)返回23,注意这里是取整,是不会四舍五入的,即使你int(23.9)也是返回23。
那么23 + 1 = 24。
28.在Python中,input("请输入"),运行后如果输入3+8,则返回结果为
11。
( )
【答案】错误
【考查】数值类型转换
通过input输入的内容,默认是字符串类型,也就是“3+8”,所以其实是不会直接参与运算的。
所以结果不是11,输出结果应该是3+8
29.as,is,class是Python中常用保留字,不可以作为变量名。
( )
【答案】正确
【考查】保留字
保留字是python里面预留出来的,不能供开发人员使用的一些定义。
保留字包括['False', 'N one', 'True', 'and', 'as', 'assert', 'brea k', 'c lass', 'c ontinue', 'def', 'del', 'elif', 'else', 'e xc ept', 'finally', 'for', 'from', 'g lobal', 'if', 'import', 'in', 'is', 'lambda', 'nonlo c al', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
可以通过
>>> import k eyword
>>>k eyword.k wlist
获得。
30.当启动IDLE时,默认打开的是交互式编程环境,如果要编写连续的程序,
需要使用
脚本式编程环境,在IDLE中菜单栏中选择F ile→N ew F ile新建打开。
( ) 【答案】正确
【考查】I D LE操作中的新建文件
如果要写复杂程序(多行程序)。
需要新建一个文件,进行编程。
31.使用三层双引号或三层单引号都可以做多行注释。
( )
【答案】正确
【考查】代码注释
注释单行用#,注释多行用成对的三对引号,并且引号可以是单引号,也可以是双引号。
32.Turle库中,turtle.bac k ward(200)和turtle.f orward(-200)的使用效果
是一样的。
( )
【答案】正确
【考查】画笔操作
forward代表向前移动,ba ck ward代表向后移动,向后移动200,其实跟向前移动-200,是一样的。
33.语句m+=n的意义是m=m+n。
( )
【答案】正确
【考查】赋值运算符
m = m + n 简写就是m += n
34.turtle.color("red", "blue")
turtle.circle(120,steps=3)
可以画出一个边框为红色,里面填充颜色为蓝色的三角形。
( )
【答案】错误
【考查】画笔操作
在画有填充颜色的图形时,在画之前一定要有be g in_fill()函数,画完以后一定要有end_fill()函数。
不写这两个函数,是不会被填充的。
35. int(6.9)运行结果是7。
( )
【答案】错误
【考查】基本运算
int函数是取整操作(只保留数字的整数部分)的函数,所以int(6.9)返回6,注意是不会四舍五入的。
三、编程题(共2题,共30分)
36.计算题:(10分)
时间转换:输入一个总秒数,计算是几小时几分钟几秒,并一行输出。
要求:
a)输入一行,一个整数,表示总秒数;
b)输出一行,三个整数,表示小时、分钟、秒,每两个数之间用一个空格
隔开。
输入样例:
7201
输出样例:
2 0 1
【考查】基本运算
input函数、int函数、%、//、print函数。
标准答案:参考程序:
n = int(input('请输入一个总秒数:'))
m = n % 60
f = n // 60 % 60
s = n // 3600
print(s, f, m)
37.绘制如下图形:
1.画一个由两个直角三角形组成的正方形,边长为180像素;
2.左上三角形填充为黄色,右下三角形填充为红色;如上图:
3.设置画笔速度为1,线条为黑色;
4.画图结束,隐藏并停止画笔。
评分标准:
(1) 导入库文件正确。
(2分)
(2) 有前进命令。
(2分)
(3) 有旋转命令并运用准确。
(2分)
(4) 有颜色工具并正确填充。
(2分)
(5) 正确设置画笔移动速度。
(2分)
(6) 正确隐藏画笔。
(2分)
(7) 正确停止画笔等待关闭 。
(2分)
(8) 运行正常。
(2分)
(9) 图像正确。
(4分)
【考查】turtle库的使用
turtle库的引用方法、填充颜色、画笔速度设置、画笔移动、画笔旋转、画笔移动到指定位置、隐藏画笔、停止画笔。
标准答案:参考程序:
import turtle #库准备
turtle.fill c olor('red') #设置填充颜色为红色
turtle.speed(1) #设置画笔移动速度为1
turtle.be g in_fill() #开始填充
turtle.forward(180) #从当前方向移动180
turtle.left(90) #逆时针方向旋转90°
turtle.forward(180) #从当前方向移动180
turtle.g oto(0,0) #移动到(0,0)的位置,即起始位置turtle.end_fill() #填充结束
turtle.fill c olor('yellow') #设置填充颜色为黄色turtle.be g in_fill() #开始填充
turtle.forward(180) #从当前方向移动180
turtle.ri g ht(90) #顺时针方向旋转90°
turtle.forward(180) #从当前方向移动180
turtle.end_fill() #填充结束
turtle.hideturtle() #隐藏画笔
turtle.done() #停止画笔等待关闭
四、完整试卷(可方便打印练习)
一、单选题(共25题,每题2分,共50分)
1.执行语句print(10==10.0)的结果为?( )
A. 10
B. 10.0
C. True
D. False
2.执行语句y=4**3后,变量y的值为?( )
A. 0
B. 12
C. 64
D. 81
3.执行(2*3)/(9-3*2)输出的结果是什么?( )
A. 1
B. 2.0
C. 2
D. 1.0
4.print(12.34-1.34)的输出结果是?( )
A. 11
B. 11.0
C. 11.00
D. 12.34-1.34
5.已知变量a=2,b=3,执行语句a%=a+b后,变量a的值为?( )
A. 0
B. 2
C. 3
D. 12
6.Turtle库中,画笔绘制的速度范围为?( )
A. 任意大小
B. 0到10之间的整数(含0和10)
C. 1到10之间的整数(含1和10)
D. 0到100之间的整数(含0和100)
7.print("a"+'b'*2) 结果是?( )
A. ab2
B. abb
C. abab
D. ab
8.Python编程语言的注释语句是以( )开头的?
A. '
B. //
C. #
D. {
9.a="我要做作业",b=“我要学习”,以下哪种是可以输出这两句中文的?
( )
A. print(a+b);
B. print('a'+'b');
C. print ("a+b");
D. print("a"+"b");
10.type() 函数返回对象的类型,那么print(type("7654"))输出的结果是?
( )
A. <c lass 'str'>
B. <c lass 'int'>
C. <c lass 'float'>
D. <c lass 'bool'>
11.Python中,用什么方式实现代码快速缩进?( )
A. 按4次空格键
B. tab键
C. shift+tab键
D. Alt+tab键
12.print(3456%100)的结果是?( )
A. 34.56
B. 34
C. 56
D. 34.5
13.在turtle库中的指令,以下哪个不会使得海龟发生位置移动变化的?( )
A. 在turtle库中的指令forward()
B. 在turtle库中的指令g oto()
C. 在turtle库中的指令setup()
D. 在turtle库中的指令home()
14.下列哪个函数的功能是将字符串和数字转换成整数?( )
A. float
B. int
C. round
D. ord
15.Turtle库中,用于将画笔移动到坐标(x,y)位置的命令是?( )
A. turtle.g o(y,x)
B. turtle.g o(x,y)
C. turtle.g oto(x,y)
D. turtle.g oup(x,y)
16.以下哪个变量命名不符合Python规范?( )
A. 语言='P ython'
B. _lan g ua g e=‘P ython’
C. lan g ua g e=‘P ython’
D. .lan g ua g e=‘P ython’
17.以下哪个不是Python开发工具?( )
A. idle
B. j upyter
C. shell
D. py c harm
18.下列代码运行的结果是?( )
a=0
b=False
print(a==b)
A. 0
B. False
C. True
D. error
19.要抽出一个三位数的个位上的数字,如三位数479,可以输入以下哪个代
码可以获得其中的个位数上的9?( )
A. print(479%10//10)
B. print(479//10//10)
C. print(479%10%10)
D. print(479//10%10)
20.下面图形最有可能是哪个选项的代码执行后的效果?( )
A. import turtle
B. import turtle
turtle.pensi z e(5) turtle.pensi z e(5)
turtle.be g in_fill() turtle.c olor('red')
turtle.c olor('red') turtle.be g in_fill()
turtle.fill c olor('yellow') turtle.fill c olor('yellow')
turtle.c ir c le(50,steps=6) turtle.c ir c le(50,steps=6)
turtle.end_fill() turtle.end_fill()
turtle.hideturtle() turtle.hideturtle()
C. import turtle
D. import turtle
turtle.pensi z e(5) turtle.pensi z e(5)
turtle.fill c olor('red') turtle.be g in_fill()
turtle.be g in_fill() turtle.c olor('red','yellow')
turtle.c olor('yellow') turtle.c ir c le(50,steps=6)
turtle.c ir c le(50,steps=6) turtle.end_fill()
turtle.end_fill() turtle.hideturtle()
turtle.hideturtle()
21.海龟作图中,默认的海龟方向的朝向是?( )
A. 朝左
B. 朝右
C. 朝上
D. 朝下
22.print(2*3>4*2 or "121">"12" and 7%3==4%3)结果是?( )
A. False
B. True
C. 3
D. 4
23.在turtle库中的指令,以下哪条指令与颜色无关的?( )
A. 在turtle库中的指令fill c olor()
B. 在turtle库中的指令pen c lor()
C. 在turtle库中的指令c olor()
D. 在turtle库中的指令penup()
24.下列代码的运行结果是?( )
print('a'< 'b')
A. a
B. b
C. True
D. False
25.Turtle库中,设置画粗细的命令是?( )
A. turtle.pensi z e()
B. turtle.penwidth()
C. turtle.penpoint()
D. turtle.pen c olor()
二、判断题(共10题,每题2分,共20分)
26.Python文件的后缀名可以使.py和.pyw。
( )
27.Python代码语句:
s=23.4
t=int(s)+1
那么print(t)的结果为24.4。
( )
28.在Python中,input("请输入"),运行后如果输入3+8,则返回结果为
11。
( )
29.as,is,class是Python中常用保留字,不可以作为变量名。
( )
30.当启动IDLE时,默认打开的是交互式编程环境,如果要编写连续的程序,
需要使用
脚本式编程环境,在IDLE中菜单栏中选择F ile→N ew F ile新建打开。
( )
31.使用三层双引号或三层单引号都可以做多行注释。
( )
32.Turle库中,turtle.bac k ward(200)和turtle.f orward(-200)的使用效果
是一样的。
( )
33.语句m+=n的意义是m=m+n。
( )
34.turtle.color("red", "blue")
turtle.circle(120,steps=3)
可以画出一个边框为红色,里面填充颜色为蓝色的三角形。
( )
35. int(6.9)运行结果是7。
( )
三、编程题(共2题,共30分)
36.计算题:(10分)
时间转换:输入一个总秒数,计算是几小时几分钟几秒,并一行输出。
要求:
a)输入一行,一个整数,表示总秒数;
b)输出一行,三个整数,表示小时、分钟、秒,每两个数之间用一个空格
隔开。
输入样例:
7201
输出样例:
2 0 1
37.绘制如下图形:
1.画一个由两个直角三角形组成的正方形,边长为180像素;
2.左上三角形填充为黄色,右下三角形填充为红色;如上图:
3.设置画笔速度为1,线条为黑色;
4.画图结束,隐藏并停止画笔。
评分标准:
(1) 导入库文件正确。
(2分)
(2) 有前进命令。
(2分)
(3) 有旋转命令并运用准确。
(2分)
(4) 有颜色工具并正确填充。
(2分)
(5) 正确设置画笔移动速度。
(2分)
(6) 正确隐藏画笔。
(2分)
(7) 正确停止画笔等待关闭 。
(2分)
(8) 运行正常。
(2分)
(9) 图像正确。
(4分)。