原连接:竞赛考级题库--202409 青少年软件编程等级考试Python一级真题 - Python
1. 编程题
2023年9月23日晚,第十九届亚洲运动会在浙江省杭州市奥体中心隆重开幕。为准时参加开幕式,李叔叔一家于9月23日提前开车前往杭州奥体中心,他家距离杭州奥体中心188km(公里),李叔叔开车用了t小时到达目的地,请问李叔叔开车的平均速度是多少km/h(公里/小时)?
要求:
(1)程序开始运行时,提示“请输入一个数字,代表李叔叔开车用时”; 并要求用户输入整数;
(2)程序根据输入的数字计算出李叔叔开车的平均速度,并转化为整数; (提示:平均速度=总距离÷总时长)
(3)输出的格式为:“李叔叔开车的平均速度是:*km/h”。
查看答案https://tiku.kids-scratch.com/dist/#/topic?gid=271b34fef2cec200afd3bff9db8508d6
2. 编程题
小明的生日到了,他收到了很多彩色的气球。现在我们要用Python来帮助小明绘制一个他最喜欢的彩色气球,如下图所示。
要求:
(1)气球为半径50的圆,气球线条和填充均为蓝色;
(2)圆(气球)和线条(绳子)的连接位置为画布正中心;
(3)气球的绳子在气球正下方,长度为100。颜色不限。
提示:最下方的箭头为海龟默认形状,无需绘制。
查看答案https://tiku.kids-scratch.com/dist/#/topic?gid=3d3ede3cc2ae6a3f96043edc3b0c922f
3. 单选题
运行以下程序后,画笔的位置坐标是以下哪一个?( )
import turtle
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.right(90)
turtle.forward(50)
A
(50,0)
B
(50,100)
C
(0,50)
D
(100,50)
答案:D
分析:
根据题干程序,画笔首先向默认方向右边移动50像素,左转后向上移动50像素,右转后再向右移动50像素,此时的坐标是(100,50),答案选D。
4. 单选题
如果要让turtle向左转45度,应该使用哪个命令?( )
A
turtle.left(45)
B
turtle.turnleft(45)
C
turtle.forward(45)
D
turtle.right(45)
答案:A
分析:
要让turtle向左转45度,应该使用以下命令:
A、turtle.left(45)
解析:
A、turtle.left(45) - 这个命令是正确的。在turtle库中,left() 函数用于让turtle向左转动指定的角度。参数是转动的角度,单位是度。因此,turtle.left(45) 会使得turtle向左转45度。
B、turtle.turnleft(45) - 这个命令是错误的。turtle库中没有 turnleft() 这个函数。正确的函数名是 left()。
C、turtle.forward(45) - 这个命令不会使turtle转向,而是会使它向前移动指定的距离。
D、turtle.right(45) - 这个命令虽然语法上是正确的,但它会让turtle向右转45度,而不是向左转。
综上所述,正确答案是 A、turtle.left(45)。这个命令会让turtle向左转45度。
5. 单选题
Python中3乘以5应该怎样表示?( )
A
3×5
B
3*5
C
3**5
D
3+=5
答案:B
分析:
本题考察算术运算符*,数学当中用×表示乘号,计算机中用*来表示乘号,所以本题答案为B。
6. 单选题
在 Python 中,这个表达式:3*8//4 的计算结果是多少?( )
A
6
B
6.0
C
3
D
3.0
答案:A
分析:
已知只有乘法和整除运算,说明结果必为整数类型,所以排除6.0、3.0。*和//优先级相等,从左到右计算,3*8结果为24,24//4整除结果为6。
7. 单选题
执行下列哪个选项中的代码,能打印出 Scratch Python C++ 的是( )
A
print('Scratch Python C++')
B
print('Scratch 、Python 、C++')
C
print('Scratch, Python,C++')
D
print('Scratch + Python + C++')
答案:A
分析:
B选项打印出来的是Scratch 、Python 、C++,是包含有顿号的;C选项打印的结果是Scratch, Python,C++,是包含逗号的;D选项打印的结果是Scratch + Python + C++,包含有加号。所以选A。
8. 单选题
运行代码print(float(20)),输出的结果是以下哪一项?( )
A
20
B
20.0
C
20.00
D
20.000
答案:B
分析:
float()默认保留一位小数,故答案选B。
9. 单选题
假如从广东到湖南有2种不同的出行方式,从湖南到北京有3种不同的出行方式,那么从广东经过湖南再到北京,总共有几种不同的出行方式?( )
A
2
B
3
C
5
D
6
答案:D
分析:
从广东到北京的总路线中,包含两个子路线,第一个子路线是广东到湖南,有2种方式,第二个子路线是湖南到北京,有3种方式,总路线是由两个子路线构成的,所以共有2*3=6种不同的出行方式。
10. 单选题
已知a= 2 or False and False,请问a的运算结果是?( )
A
2
B
True
C
False
D
2.0
答案:A
分析:
根据逻辑算符的运算顺序,a= 2 or False and False,先进行and计算,然后进行or计算,所以,a=2。
11. 单选题
在Python中,如果a=5,b=3,那么执行语句print(a+b==a*b)的结果是?( )
A
8
B
False
C
True
D
程序报错
答案:B
分析:
本题中加减乘除运算的优先级高于比较运算符的优先级,故优先计算加减乘除,a+b = 8,a*b =15,判断8=15,结果是False,故本题正确答案为B。
12. 单选题
下面哪个运算符的运算优先级最低?
A
//
B
**
C
==
D
%
答案:C
分析:
这四个运算符中:B选项优先级最高,其次是A和D属于同一个优先级,C的优先级最低。
13. 单选题
Python中,以下哪个选项是将浮点数转换为整数的正确方法?( )
A
int(3.14)
B
float(3)
C
str(3.14)
D
bool(3.14)
答案:A
分析:
A. int(3.14) - 这个选项使用int()函数将浮点数3.14转换为整数。在Python中,当你使用int()函数转换一个浮点数时,它会舍去小数部分,将浮点数转换为整数。因此,int(3.14)将返回整数3。
B. float(3) - 这个选项使用float()函数将整数3转换为浮点数,而不是将浮点数转换为整数。float(3)将返回浮点数3.0。
C. str(3.14) - 这个选项使用str()函数将浮点数3.14转换为字符串,而不是整数。str(3.14)将返回字符串"3.14"。
D. bool(3.14) - 这个选项使用bool()函数将浮点数3.14转换为布尔值。在Python中,任何非零数字(包括浮点数)转换为布尔值时都为True。因此,bool(3.14)将返回布尔值True,而不是整数。
14. 单选题
print(14+8) 输出的结果是?( )
A
22
B
14+8
C
14
D
148
答案:A
分析:
本题考察的是 print 语句,由于14+8不是字符串,所以print在打印前会将表达式14+8进行计算,然后打印出来,因而选A。
15. 单选题
执行代码 print(3 <= 5 and 7 >= 9),打印结果为?( )
A
True
B
False
C
3 <= 5
D
7 >= 9
答案:B
分析:
在Python中,“and”用来判断两个条件是否同时成立。“and”左侧为False时,表达式的结果为False;“and”左侧为True时,表达式的结果和“and”右侧部分的结果一致。题干中 3 <= 5 成立,但是 7 >= 9 不成立,所以 3 <= 5 and 7 >= 9 的结果为False,答案为B。
16. 单选题
在编写Python代码中可以在同一行使用多条语句,语句之间需使用某一符号进行分隔。下列选项中哪一符号可以将多条语句进行分隔?( )
A
:
B
;
C
,
D
.
答案:B
分析:
在编写Python代码中可以在同一行使用多条语句,语句之间需使用分号(;)进行分隔,B答案正确。
17. 单选题
以下哪一项运行后能分两行显示以下诗句?( )
但愿人长久,
千里共婵娟。
A
print(“但愿人长久,
千里共婵娟。”)
B
print(但愿人长久,
千里共婵娟。)
C
print('''但愿人长久,
千里共婵娟。''')
D
print(‘’’但愿人长久,
千里共婵娟。”””)
答案:C
分析:
使用三引号('''或""")可以指定一个多行字符串,但是前后要一致。本题选C。
18. 单选题
执行下列哪段代码,画笔移动后不会画出线?( )
A
B
C
D
答案:C
分析:
选项A的代码中没有抬起画笔的操作,执行turtle.goto(100, 100)会画出线;
选项B的代码中,因为turtle.goto(100, 100)在抬起画笔之前,所以移动画笔会画出线;
选项C的代码中,先抬起画笔,然后执行turtle.goto(100, 100),再落下画笔。在这个过程中,移动画笔时画笔处于抬起的状态,不会画出线;
选项D的代码中,先抬起画笔,然后落下画笔,再执行turtle.goto(100, 100)。在这个过程中,移动画笔时画笔处于落下的状态,会画出线。答案为C。
19. 单选题
a=input()
b=input()
执行语句print(a+b),并输入1,2,结果为?( )
A
3
B
1
C
2
D
12
答案:D
分析:
在Python中,不论用户输入什么类型的数据,input()函数的返回结果都是字符串,a+b返回的是‘1’+‘2’的结果12。
20. 单选题
在Python中可以使用setup()设置画布大小和起始位置,下列哪一项语句可以将画布大小设置为500*400?( )
A
turtle.setup(500,400,50,50)
B
turtle.setup(400,50,50,500)
C
turtle.setup(50,50,500,400)
D
turtle.setup(50,500,400,50)
答案:A
分析:
setup()方法第一个参数为画布长,第二个参数为画布的高,第三个和第四个参数是画布位于屏幕的相对位置。故要将画布大小设置为500*400,只需要setup(500,400,x,y)即可,A选项符合,故本题正确答案为A。
21. 单选题
小明同学正在利用Python绘制一个边长为100像素的正三角形,目前已经完成两条边的绘制,箭头为画笔所在位置和方向,如下图所示,请你帮他选择一组正确的答案将此正三角形绘制完整?( )
A
B
C
D
答案:B
分析:
绘制正三角形中,需要掌握的是旋转角度的理解,每一次旋转中转动的是图形的外角度数,正三角形也就是120度,所以本题正确答案为B。
22. 单选题
关于缩进的描述,正确的是?( )
A
Python 编码中不需要缩进
B
缩进的空格数决定了代码块的嵌套级别
C
缩进仅仅是为了美观,对代码执行没有影响
D
缩进是语法错误,不应该在代码中使用
答案:B
分析:
Python 编码中需要缩进,缩进的空格数决定了代码块的嵌套级别,缩进不仅仅是为了美观,对代码执行也有影响,应该在代码中使用。
23. 单选题
红星小学三年级评选优秀少先队员的条件是,期末考试语文成绩和数学成绩和英语成绩都必须等于或者高于90分,用Python程序描述,以下哪个是正确的?( )
A
语文成绩>=90 and 数学成绩>=90 or 英语成绩>=90
B
语文成绩>=90 or 数学成绩>=90 or 英语成绩>=90
C
语文成绩>=90 and 数学成绩>=90 and 英语成绩>=90
D
语文成绩>=90 or 数学成绩>=90 and 英语成绩>=90
答案:C
分析:
逻辑运算符and表示“与运算”,or表示“或运算”,由逻辑运算符连接而成的表达式称为逻辑表达式,本题的逻辑表达式中,三种学科的成绩需要同时满足大于等于90分的要求,所以使用and运算符连接。
24. 单选题
以下哪个函数能够绘制一个半径为60的圆?( )
A
B
C
D
答案:D
分析:
画圆用到的语句是circle,参数顺序为(半径,角度)根据题意参数应该为(60,360)。
25. 单选题
Python自带的IDLE编辑器有两种模式:脚本模式(又称为编辑器模式)和交互模式(又称为Shell模式),下列哪种方法可以实现由交互模式到脚本模式的切换?( )
A
关闭文件
B
新建文件
C
替换文件
D
运行文件
答案:B
分析:
考察Python自带编程环境IDLE的两种编辑模式:脚本模式和交互模式,编辑器默认打开为交互模式,可以通过新建文件的方式切换到脚本模式,所以答案选B
26. 单选题
Python中的!=代表的是?( )
A
反转条件的布尔值
B
检查左右两边的值是否不相等
C
检查左右两边的值是否相等
D
将左右两边值进行交换
答案:B
分析:
在Python中,!= 是一个比较运算符,用于检查其左右两边的值是否不相等。如果两边的值不相等,表达式的结果为 True,否则为 False。
所以正确答案是:
B、检查左右两边的值是否不相等
解析:
A选项描述的是逻辑非运算符 not 的作用,它会反转条件的布尔值。
C选项描述的是等于运算符 == 的作用,它会检查左右两边的值是否相等。
D选项描述的操作并不是Python中任何运算符的标准行为。
27. 单选题
下列选项中关于 turtle.color('red') 语句的作用描述正确的是?( )
A
只设置画笔的颜色为红色
B
只设置填充的颜色为红色
C
设置画笔和填充的颜色为红色
D
设置画笔的颜色为红色,设置画布背景的颜色为红色
答案:C
分析:
本题考察的是 turtle 的 color 语句,turtle.color('red') 语句会将画笔和填充颜色都设置为红色。
28. 判断题
在Python中,如果a=4,b=2,那么执行语句print(type(a**b))的结果是16。( )
A
正确
B
错误
答案:错误
分析:
当a=4,b=2时,a**b=16,type()函数会返回参数的数据类型,16的数据类型是<class 'int'>,故本题说法错误。
29. 判断题
变量名大小写是有区分的,如变量名 age和 Age有区别。( )
A
正确
B
错误
答案:正确
分析:
在 Python 中,变量名是区分大小写的,age 和 Age 是不同的变量名。
30. 判断题
IDLE交互模式的提示符为>>>,脚本模式没有提示符。( )
A
正确
B
错误
答案:正确
分析:
考察Python自带编程环境IDLE的两种编辑模式,交互模式的提示符
为>>>,脚本模式没有提示符。所以,本题答案为正确。
31. 判断题
turtle画图库中turtle.circle()不但可以绘制圆或者圆弧,它还可以绘制正多边形。( )
A
正确
B
错误
答案:正确
分析:
turtle.circle()可以绘制正多边形,circle()可以通过第3个参数steps来设定线段数量,从而实现正多边形的绘制。所以本题答案为正确。
32. 判断题
Python中#的符号表示单行注释,###进行多行注释。( )
A
正确
B
错误
答案:错误
分析:
python的多行注释是 ''' '''或""" """
33. 判断题
在Turtle库中,小明设置画笔速度设为2,小红设置画笔速度为0,如果其他指令完全一致的话,那么小明的绘制速度要快一些。( )
A
正确
B
错误
答案:错误
分析:
0为最快速度
34. 判断题
print(int(4.5)==float(4))输出结果是False。( )
A
正确
B
错误
答案:错误
分析:
输出结果为True
35. 判断题
print 语句可以同时打印多个变量,比如 print(a, b) 就可以打印出变量 a 和 b 的值。( )
A
正确
B
错误
答案:正确
分析:
本题考察的 print 语句,print 可以同时打印多个变量。
36. 判断题
在Python中,'龙腾虎跃'是一个字符串类型数据,如果将单引号去掉,它就变成了整型数据。( )
A
正确
B
错误
答案:错误
分析:
根据题意,去掉单引号并非整型数据,而是一个变量,至于变量的对象是什么数据类型,根据题意无法得知。
37. 判断题
else可以作为变量名。( )
A
正确
B
错误
答案:错误
分析:
在Python中,else是一个保留字(或称为关键字),它用于if-else语句中,以指定当if条件不满足时要执行的代码块。由于else是Python语言的一部分,并且有其特定的语法含义,因此它不能用作变量名。