青少年编程能力等级测评试卷
Python编程(一级)
(考试时间90分钟,满分100分)
一、单项选择题(共20题,每题2.5分,共50分)
1. 运行下方代码段,输出是6,则输入的可能是( C )。
a = eval(input())
print(a)A.8%2B.8//2C.3*2D.3**2
2. 关于Python变量,下列叙述正确的是( B )。A.变量不区分大小写
B.变量可用字母、数字和_(下划线)表示
C.变量c赋值为0表示为:var c = 0
D.变量第一次赋值后,其数据类型不可更改
3. 在Python中,合法的变量名是( B )。A.importB.from_importC.@importD.import-1
4. 下列属于Python保留字的是( D )。A.IfB.ForC.ElseD.None
5. 变量a为整型的是( B )。A.a = 1.1B.a,b = 1,1.3C.a = ’1’D.a = b = 1.0
6. 使a减3的结果除以b的是( A )。A.(a - 3) / bB.a - 3 / b
C.(a - 3) // bD.a - 3 // b
7. 下列数值填入①处后,不能输出a的是( B )。
if _①__:
print(“a”)A.3B.2C.1D.0
8. 运行下方代码段,输出的是( B )。
a, b, str = 2, 5, 'independ'
print(str[a:b])A.epB.depC.depeD.ndep
9. 运行下方代码段,输出的是( D )。
scores = [95, 93, 98]
scores.append('2')
print(scores)A.[95, 93, 98, [2]]B.[95, 93, 98, ['2']]
C.[95, 93, 98, 2]D.[95, 93, 98, '2']
10. 运行下方代码段,输出的是( C )。
a, b, c, d = 0, 1, 2, None
if (a and c):
d = a * b
elif (b or c):
d = a + c
elif not b:
d = b
print(d)A.0B.1C.2D.None
11. 运行下方代码段,输出的是( C )。
x, y = -4, -8
if x < 0:
x = -x
print(x * y + x)A.36B.28C.-28D.-36
12. 运行下方代码段,输出的是( B )。
x, y = 3, 2
if x > 2:
if y > 2:
z = x + y
print("z is ", z)
else:
print("y is ", y)
else:
print("x is ", x)A.z is 5B.y is 2
C.x is 3D.x is 2
13. 下列代码段执行有误的是( A )。A.a = int('4.5')B.a = float('4')
C.a = int(float('4.5'))D.a = str(int(4.5))
14. 运行下方代码段,输出的是( D )。
for i in range(10):
for t in range(5):
s = i + t
print(s)A.50B.36C.15D.13
15. 运行下方代码段,输出的是( D )。
s = 1
for i in range(5):
if i == 4:
continue
s = i * s
print(s)A.120B.30C.6D.0
16. 运行下方代码段,当输入字符串“s”时,输出的是( C )。
try:
x = "请输入一个数字: "
x = input(x)
print(int(x))
except ValueError:
print("输入的不是数字!")
except:
print("出现未知错误。")A.请输入一个数字:B.出现未知错误。
C.输入的不是数字!D.int(x)
17. 运行下方代码段,输出的是( A )。
print(pow(3, 2))A.9B.8C.6D.5
18. 下列与方框内代码块作用相同的是( B )。
a = [1, 2, 5, 6]
t=a[0]
for i in a:
if t > i:
t = i
print(i)A.t = max(a)B.t = min(a)C.t = sum(a)D.t = round(a)
19. 已知a = [1,2,3],下列代码执行有误的是( A )。A.t = int(max(str(a)))B.t = int(str(max(a)))
C.t = int(str(len(a)))D.t = int(len(str(a)))
20. 运行下方代码段,输出的结果是( A )。
import turtle
turtle.pensize(3)
for i in range(1,5):
r=i*20
turtle.circle(r)
turtle.done()A.B.
C.D.
二、多项选择题(共5题,每题2分,共10分)
21. 在Python中,使变量b的值加1的语句是( BD )。A.b
+ 1B.b
+= 1C.b
+ 1 = bD.b
= b + 1
22. 运行下列代码段,变量a不为3的是( BCD )。A.a = int(3.4)B.a = str(3.4)
C.a = float("3.4")D.a = list("3.4")
23. 下列能填入①处的是( ABC )。
for i in ①:
print(i)A.range(10)B.[1,2,3]C.“hello”D.2.345
24. 运行下方代码段,下列叙述正确的是( ABD )。
x = float(input())
print(round(x, 2))A.若输入3.4559,则输出3.46B.若输入3.4459,则输出3.45
C.若输入3.9741,则输出3.98D.若输入3.9945,则输出3.99
25. 使用 from turtle import * 调用turtle库后,能够控制画笔移动的语句是( AB )。A.forward(10)B.backward(10)
C.left(10)D.right(10)
三、判断题(共10题,每题1分,共10分)26.Python使用缩进来表示代码之间的包含和层次关系。( T )
27.Python中单行注释以@开头。( F )
28.input()函数总是将用户的输入作为字符串型数据.。( T )
29.print()添加end=""可以使输出不换行。( T )
30.Python解释器只有一种。( F )
31.import
sys可以引入Python标准库中的sys模块。( T )
32.a = sum([0,2,3,5])输出a的值是2.5。( F )
33.Python中所有保留字首字母都是小写。( T )
34.break可以跳出当前循环语句。( T )
35.用户可以选择不同的环境运行Python代码。( T )
四、编程题(共2题,每题15分,共30分)
36. 编写一个感冒指数参照系统,参照下表所示的感冒指数,根据输入的感冒指数,输出其对应的含义。
感冒指数等级表等级指数范围含义
1级0~6少发
2级7~19较易发
3级20~30易发
4级31~61极易发
提示:
(1) input()函数中参数为“请输入感冒指数:”。
(2) 若输入的数字超出指数范围则输出“指数值不正确”。
例:输入:15
输出:较易发
36. 参考代码:
num = int(input("请输入感冒指数:"))
if 0 <= num <= 6:
print("少发")
elif num <= 19:
print("较易发")
elif num <= 30:
print("易发")
elif num <= 61:
print("极易发")
else:
print("指数值不正确")
37. 某地区一个博物馆,登记姓名即可进入免费参观,由于博物馆管理人员较少,需要一个自助登记姓名的程序代替人工登记,请为其编写程序。
(1) 程序提示用户输入字符串,该字符串表示登记的姓名,将该字符串存入列表name;
注:input()函数的参数为“姓名:”。
(2) 利用循环结构,连续接受用户姓名,存入列表name,当输入“Q”时,打印输出列表name,并退出循环,结束程序。
例:输入:陈明
李芳
吕广
Q
输出:['陈明', '李芳', '吕广']
37. 参考代码
n_list=[]
while True:
name=input()
if name=="Q":
print(n_list)
break
n_list.append(name)
测试样例:
输入:Q 输出:[ ]
输入:陈明 Q 输出:['陈明']
输入:吕广 Q 输出:['吕广']
输入:陈明 黄静 Q 输出:['陈明', '黄静']
输入:陈明 李芳 吕广 Q 输出:['陈明', '李芳', '吕广']
输入:李芳 吕广 黄静 Q 输出:['李芳', '吕广', '黄静']
输入:陈明 吕广 黄静 Q 输出:['陈明', '吕广', '黄静']
输入:陈明 李芳 黄静 Q 输出:['陈明', '李芳', '黄静']
输入:陈明 李芳 吕广 黄静 Q 输出:['陈明', '李芳', '吕广', '黄静']
输入:陈明 小李 吕广 黄静 Q 输出:['陈明', '小李', '吕广', '黄静']