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