2024-03 Python一级真题
分数:100
题数:37
测试时长:60min
一、单选题(共25题,共50分)
1. 下列哪个命令,可以将2024转换成'2024' 呢?( A)(2分)
A.str(2024)
B.int(2024)
C.float(2024)
D.bool(2024)
答案解析:本题考察的是str() 语句,将数字转换成字符串用到的是str() 语句。
2. 猴子摘了一包桃子,第一天吃了全部的一半;第二天,吃剩下的(注意是剩下的)桃子的一半;以后每天都吃前一天剩下的一半;第四天吃完剩下的一半,发现只剩下一个桃子了。请问:猴子一开始摘了几个桃子?(C )(2分)
A.4
B.8
C.16
D.32
答案解析:本题考察的是计算思维,逆向思维倒推,第四天就有两个,第三天就有四个桃子,第二天有八个,第一天就有十六个。
3. 在编写Python代码中,经常对代码进行缩进,下列哪一选项的按键可以作为推荐使用的缩进标准键?( C)(2分)
A.'''
B.#
C.空格键
D."""
答案解析:在代码缩进时,经常使用的是Tab符合空格键,空格键为推荐使用的缩进标准键,C答案正确。
4. 下列关于IDLE中操作的描述,错误的是?( B)
A.可以使用File菜单中的New File命令新建文件
B.File菜单中的Run Module命令是只用来保存程序的
C.在交互模式下,可以输入exit()可以退出交互模式
D.可以使用File菜单中的Open命令打开文件
答案解析:在IDLE中,可以使用File菜单中的New File命令新建文件,A选项正确;Run菜单中的Run Module命令执行程序,在执行前检查程序是否修改,如有修改,会自动提醒保存。File菜单中的Save命令才是保存文件,B选项错误;交互模式下,可以使用exit()退出交互模式,C选项正确;可以使用File菜单中的Open命令打开文件,D选项正确。故本题选B。
5. 下列turtle工具箱的语句,哪一项绘制出的形状与其他项不同,不是同一种类型的形状?( D)(2分)
A.turtle.forward(100)
B.turtle.backward(-100)
C.turtle.goto(100,0)
D.turtle.dot(100)
答案解析:A、B、C选项绘制出的均为直线,只有D选项dot绘制出的是实心圆,与其他项不同,故本题答案为D选项。
6. 下列不属于比较运算符的是哪一项?(D )(2分)
A.!=
B.>=
C.<=
D.=
答案解析:A选项是比较两边是否不相等,B选项是比较左边的数是否大于或等于右边的数,C选项是比较左边的数是否小于或等于右边的数,D选项是赋值运算符,将等号右边的值赋值给左边,不属于比较运算符,故正确答案为D。
7. 中心小学一年级(1)班有40名学生,参加学校运动会需要每7名学生排成一列,计算剩余未能排成完整一列的学生人数,可以使用以下哪个程序来完成计算?(D )(2分)
A.print('还有未能排列的人数:',40+7)
B.print('还有未能排列的人数:',40*7)
C.print('还有未能排列的人数:',40/7)
D.print('还有未能排列的人数:',40%7)
答案解析:Python程序设计语言中,“%”表示求余计算,本题要求计算40除于7的余数是多少,故使用40%7来完成,选D。
8. 执行以下语句,并分别输入1以及2,结果为?( A)(2分)
a=int(input())
b=int(input())
print(a+b)
A.3
B.1
C.2
D.12
答案解析:在Python中,不论用户输入什么类型的数据,input()函数的返回结果都是字符串,int()强制转换为整数,a+b返回的是1+2的结果3。
9. 以下代码的运行结果是什么图形?(D )(2分)
import turtle
t=turtle.Pen()
t.forward(100)
t.left(120)
t.forward(100)
t.left(120)
t.forward(100)
A.圆形
B.正方形
C.平行四边形
D.三角形
答案解析:t.forward(100)是让海龟画出一条线段,长度为100个像素,方向向右,t.left(120)改变海龟的方向,让它像左转120度(逆时针),最终形成一个三角形。
10. “天生我材必有用,千金散尽还复来”出自唐代诗人李白的《将进酒》,请你仔细查看下列Python程序,若输入下一句为:千金散尽还复来,那么程序运行结果是?( A)(2分)
print("天生我才必有用")
verse = input("请输入下一句:")
print(verse)
A.千金散尽还复来
B.请输入下一句:千金散尽还复来
C.请输入下一句:
D.无法运行,提示错误
答案解析:根据题意,输入下一句为:千金散尽还复来,print(verse)是直接输出变量verse的值,而且print语句输出时不包含提示语。所以正确答案为A选项。
11. 已知a=1,b=2,观察下列程序,运行结果是?(A )(2分)
A.6
B.5
C.4
D.3
答案解析:+=为加法赋值运算符,a += b+3相当于a=a+b+3,根据题意,a的运算结果为6。
12. print(8/4 == 8.0//4),请问输出结果是?(D )(2分)
A.2
B.2.0
C.False
D.True
答案解析:输出为布尔型True 因为==两边运算结果都是2.0
13. 利用turtle库画图时,画笔默认的起始位置在画布的坐标点是?(A )(2分)
A.(0,0)
B.(100,0)
C.(0,100)
D.(100,100)
答案解析:利用turtle库画图时,画笔也就就是小海龟默认的起始位置在画布的中心点(0,0),故本题答案为A。
14. Python计算100/2的结果是?( A)(2分)
A.50.0
B.50
C.50.00
D.200
答案解析:Python语言中算术运算符/用来表示除号,如果能够除尽,系统会自动保留以为小数,100/2=50.0,所以正确答案为A。
15. 如何设置turtle画笔的颜色为红色?( B)(2分)
A.turtle.color(red)
B.turtle.pencolor("red")
C.turtle.fillcolor("red")
D.turtle.bgcolor("red")
答案解析:要设置turtle画笔的颜色为红色,应该使用pencolor方法。因此,正确答案是:BA. turtle.color(red): 这个方法在某些情境下也可以用来设置画笔的颜色,但是它却忘记加引号了,所以是错误的。B. turtle.pencolor("red"): 这个方法专门用于设置画笔的颜色。调用turtle.pencolor("red")会将画笔颜色设置为红色。C. turtle.fillcolor("red"): 这个方法用于设置填充颜色,而不是画笔颜色。它在你打算使用turtle.begin_fill()和turtle.end_fill()进行图形填充时非常有用。D. turtle.bgcolor("red"): 这个方法用于设置turtle绘图窗口的背景颜色,而不是画笔颜色。
16. 如果a=6,b=2,则表达式a%b==0的结果是?(A )(2分)
A.True
B.False
C.6
D.2
答案解析:在Python中,% 用于返回两数相除的余数。给定:a = 6 b = 2
表达式 a % b 表示 a 除以 b 的余数。将值代入得:6 % 2 = 0 (因为6除以2余数为0)接下来,我们有表达式 a % b == 0,这实际上是一个布尔表达式,用于检查 a % b 的结果是否等于0。代入已知的值,我们得到:6 % 2 == 0即 0 == 0这是一个真命题,因此结果为 True。所以,正确答案是A。
17. 在下面代码中的横线处填写哪个选项的内容,执行代码后可以输入一个数字,然后计算并打印这个数字加5的和?( C)(2分)
a = ________
b = 5
print(a + b)
A.int()
B.input()
C.int(input())
D.input(int())
答案解析:通过input()输入的值都是字符串类型的,不能直接和整数类型的数字相加,要用int()将输入的数字转换为整数类型。答案为C。
18. 下列哪个选项可以将Turtle窗口的大小设置为宽400像素,高300像素,将窗口的初始位置设置为距离屏幕左边缘200像素,距离屏幕上边缘100像素?(B )(2分)
A.turtle.setup(200,100,400,300)
B.turtle.setup(400,300,200,100)
C.turtle.setup(400,200,300,100)
D.turtle.setup(200,400,100,300)
答案解析:使用Turtle中的setup()设置窗口的大小和初始位置时,第一个参数表示窗口的宽,第二个参数表示窗口的高,第三个参数表示窗口最左侧距离屏幕左边缘的距离,第四个参数表示窗口最上侧距离屏幕上边缘的距离。按题干描述,setup()中的参数顺序应为400、300、200和100,答案为B。
19. 执行代码 print(27 and 56),打印结果为?(D )(2分)
A.True
B.False
C.27
D.56
答案解析:在Python中,非0的数字被当做布尔值使用时,表示True。当“and”左侧为False或0时,表达式的结果也为False或0;当“and”左侧为True或非0数字时,表达式的结果和“and”右侧部分的结果一致,右侧部分是数字时,表达式结果也为数字。答案为D。
20. 使用 Python 画笔绘制如下图所示的图,第 3 行的代码应该如何补充?( C)(2分)
import turtle
turtle.forward(100)
# 第 3 行代码
turtle.forward(100)
A.turtle.left()
B.turtle.right(90)
C.turtle.left(90)
D.turtle.left(180)
答案解析:turtle 默认朝着屏幕的右边,现在方向朝上,说明左转了 90 度,选择 turtle.left(90)
21. 下列哪个选项的运算优先级最高?(D )(2分)
A.==
B.+
C.and
D.*
答案解析:优先级排序:算术 (*) > 算术 (+) > 比较( == )> 逻辑(and)
22. 下面描述中,符合Python语言特点的是?(C )(2分)
A.Python是一门面向过程的高级语言
B.Python程序可以用标准Scratch软件打开
C.Python是一门面向对象的高级语言
D.Python仅支持windows操作系统
答案解析:Python 是一门面向对象的高级语言,而不是面向过程。 Python 程序不能用标准Scratch软件打开。 Python 不仅支持 Windows操作系统,还支持多种操作系统,包括 Linux 和 macOS。
23. 以下代码绘制出的图形是下面哪一个?(C )(2分)
import turtle
turtle.circle(-50,90)
turtle.circle(50,-90)
A.
B.
C.
D.
答案解析:circle()的第一个参数为半径,第二个参数为弧度。半径为正数,圆心在画笔左边;半径为负数,圆心在画笔右边。弧度为正数,顺画笔当前方向绘制;弧度为负数,逆画笔当前方向绘制,综上,选C。
24. 运行程序print(4<=3 or 6 and 3<18)的结果是?( B)(2分)
A.6
B.True
C.False
D.报错
答案解析:此题考查运算优先级以及逻辑运算符的返回值,比较运算符的优先级高于逻辑运算符,所以先比较大小,然后进行逻辑判断,答案为B。
25. 以下可以作为Python变量名称的是?( C)(2分)
A.2a
B.as
C.a2
D.(a2)
答案解析:Python变量名只能包含字母、数字和下划线。变量名可以字母或下划线开头,但不能以数字开头。同时也不能使用Python中的保留字符,as是保留字符,故答案选C。
二、判断题(共10题,共20分)
26. turtle 画布的坐标系原点是在画布的左上角。(错 )
答案解析:本题考察的是 turtle 的坐标系,tutle 画布的坐标系原点是在画布的中心。本题考察的是 turtle 的坐标系,tutle 画布的坐标系原点是在画布的中心。
27. Python变量名区分大小写,book和BOOK不是同一个变量。( 对)
答案解析:本题考察的Python变量命名规范,在Python中变量名是区分大小写的,book和BOOK就是两个不同的变量。
28. Python只能处理数值数据,不能处理文字、图形和音视频等数据。(错 )
答案解析:Python能处理得远不只数值数据,还可以是文字、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。
29. 在Python Shell中输入print("3"*3)语句并运行,运行结果为9。(错 )
答案解析:"3"*3是将3个"3"连接在一起,输出结果应为333。
30. 在turtle.shape()指令中,括号可以填写很多英文单词,不断改变小海龟的样子,例如Dog。( 错)
答案解析:turtle.shape()填入的必须是形状库中的,Dog非形状库中的值。
31. print(type("6.78")),输出结果是6.78。(错 )
32. Python3.x不完全兼容Python2.x编写的程序。( 对)
答案解析:Python3和Python2扩展名相同,并且是可以互相打开的。但是Python3和Python2并不完全兼容,所以程序不一定能运行。因此,本题答案为正确。
33. 在Python中,该语句的内容会被Python解释器执行。( 错)
答案解析:在Python中,#用来表示注释,其中的内容不会被Python解释器执行,因此该题错误。
34. 有一段Python代码,共两行。第一行是print(a),第二行是 a ='Python',那么执行这段代码会打印出Python。( 错)
答案解析:Python程序是顺序执行的,应先给变量a赋值'Python',再打印a。题目中的说法是错误的。
35. Python中*一定代表乘。( 错)
答案解析:Python中*不一定代表乘,比如两个**代表幂运算。还有如果*是在引号里面引用,代表的是*字符串本身。
三、编程题(共2题,共30分)
36. 小明几天前在文具店购买了几支铅笔,已知当时的价格为5元/支,小明买完铅笔之后,剩余3元,但是现在文具店搞促销活动,铅笔价格为4元/支,请问根据小明之前购买的铅笔数量,按照促销价格买的话,最多可以购买几支,剩余多少钱?
要求:
(1)程序开始运行后,提示输入原来小明购买的铅笔数量(即:价格为5元/支的时候购买的铅笔数量);提示语为:"请输入小明原来购买的铅笔数量:"
(2)程序会根据输入的数字自动计算按照促销价格最多可以购买多少支铅笔,剩余多少钱;
(3)输出结果为:按照促销价格可以购买XX支铅笔,还剩余XX元。
参考程序:
n=int(input("请输入小明原来购买的铅笔数量:"))
s=n*5+3
a=s//4
b=s%4
print("按照促销价格可以购买",a,"支铅笔,","还剩余",b,"元")
评分标准:
(1)有输入语句(提示语和题目要求不一致可以不扣分);(2分)
(2)有输出语句(有提示语即可,不要求提示语和题目要求完全一致;无提示语扣1分);(2分)
(3)有类型转化语句;(2分)
(4)有计算语句(无论计算是否正确);(2分)
(5)程序计算正确,符合题目要求。(2分)
37. 龙年到了,我们要给远方的亲人写一封新年贺信,请用 turtle 画出一个信封 ,如下图所示:
要求:
(1)画笔粗细为5;
(2)画笔隐藏;
(3)信封中点在 (0,0) 位置;
(4)信封长 400, 宽 200。
参考程序:
import turtle
turtle.hideturtle()
turtle.pensize(5)
turtle.goto(200, 100)
turtle.goto(-200, 100)
turtle.goto(0, 0)
turtle.goto(-200, 100)
turtle.goto(-200, -100)
turtle.goto(200, -100)
turtle.goto(200, 100)
turtle.done()
评分标准:
(1)导入海龟库正确;(1分)
(2)有隐藏海龟命令,无论是开始隐藏还是最后隐藏;(2分)
(3)画笔粗细为5;(2分)
(4)信封中点在(0,0)位置;(1分)
(5)有移动坐标命令,无论移动的位置是否正确;(2分)
(6)信封四个坐标位置计算正确(如果考生使用的方法不是坐标定位,只要最终效果和坐标定位一致也等同于坐标位置正确);(8分,每个点各2分)
(7)绘制的图形符合题意,没有多余的或者少的线条,多一条线或者少一条线扣1分,最多扣4分。(4分)