一、单选题
1、下列选项中,不能作为计算机的输入设备的是?( )
A 键盘
B 鼠标
C 普通显示器
D 摄像头
2、下述选项中,不可以作为变量名的是?
A b1
B nameA
C message_1
D 2022NOC
3、已知 a = 10,b = 20,c = 30,以下代码运行后,变量 a 的值为 30 的是:
A a, b = b, a
B a, c = b, a
C a, b = b, c
D、
a, c = c, a+b
4、想从字符串 s = '我是一个字符串',打印出'字符串',可用以下哪种方式?
A print(s[4:])
B print(s[4:6])
C print(s[3:6])
D print(s[5:])
5、以下是不可变类型的是?
A 集合
B 元组
C 字典
D 列表
6、想要输出 0-100 的数字,横线处应填写的是?
for n in range(____):
print(n)
A 99
B 100
C 101
D 102
7、请看下列代码,若想要输出 yes,可以输入的内容是?
s = input('请输入:')
if s == s[::-1]:
print('yes')
else:
print('no')
A level
B yes
C no
D hahaha
8、程序运行后,输出['草莓', '车厘子', '芒果', '榴莲'],则横线上的代码是?
fruit1 = ['芒果','车厘子','草莓']
fruit2 = ['榴莲']
for f in fruit1:
______________
print(fruit2)
A fruit2.pop()
B fruit1.append(f)
C fruit2.append(f)
D fruit2.insert(0,f)
9、想要生成 0 到 9 的随机小数,选项中正确的是?
A random.uniform(0,10)
B random.uniform(0,9)
C randint.uniform(0,9)
D random.random(0,9)
10、下列程序运行后,显示的图形形状是?
import turtle
for i in range(5):
turtle.forward(50)
turtle.left(90)
A 正方形
B 三角形
C 正五边形
D 正六边形
11、请看下列代码:
a = int(input('请输入 a:'))
b = int(input('请输入 b:'))
if b == 50 or a == 30 and a < 50:
print('Yes')
else:
print('No')
当输入 60,50 时,最终运行结果是?
A 没有效果
B No
C Yes
D 报错
12、请看下列代码,运行后的输出结果是?
a = [x for x in range(9) if x % 2 == 1]
print(a)
A [0, 2, 4, 6, 8]
B [1, 3, 5, 7, 9]
C [1, 3, 5, 7]
D 程序运行报错
13、阅读以下程序,请问程序运行后输入 20,会输出什么结果?
num = int(input('请输入:'))
if num % 2 == 1:
print(num * 2)
else:
print(num / 2)
A 40.0
B 10
C 40
D 10.0
14、现在有一段程序如下,请问程序运行的结果是什么?
def fun(level):
if level < 1:
raise Exception('Invalid level!')
print(3)
try:
fun(0)
except Exception as err:
print(1)
else:
print(2)
A 0
B 1
C 2
D 3
15、阅读以下程序,程序输出的结果为?
start = 1900
end = 1920
cnt = 0
for num in range(start, end):
if num % 4 == 0 and num % 100 != 0 or num % 400 == 0:
cnt += 1
print(cnt)
A 3
B 4
C 5
D 报错
16、阅读以下程序,程序输出的结果为?
numbers = [12, 3, 1, 5, 2, 4, 7, 9, 11, 100]
index = 0
newList = []
while index < len(numbers):
if numbers[index] % 2 == 0:
newList.append(numbers[index])
index += 1
print(newList)
A [12, 2, 4, 100]
B [0, 4, 5, 9]
C [3, 1, 5, 7, 9, 11]
D [12, 2, 4]
17、已知代码如下:
class Plane():
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
planes = [Plane('战斗机', '黑色', '小型'),
Plane('客机', '白色', '中型'),
Plane('航母', '灰色', '超大型')]
for plane in planes:
print(plane.b, end=' ')
代码运行后控制台的效果是:()
A 黑色 白色 灰色
B 战斗机 客机 航母
C 小型 中型 超大型
D 客机 白色 中型
18、请看下列代码:
a = 3
b = 0
def change():
global a, b
b = b + a
print(b, end = ' ')
while a > 0:
change()
a = a - 1
运行后输出结果正确的是()
A 3 5
B 3 5 6
C 3 5 6 6
D 3 4 5
19、请看下列代码:
x = str(input('请输入购买数量:'))
if x < 5:
print('不打折')
else if x < 10:
print('打 8 折')
elif x < 15:
print('打 7 折')
else:
print('打 5 折')
代码中包含几处错误?( )
A 1
B 2
C 3
D 4
20、请看下列程序,运行后的结果是?
import numpy as np
def numpy_sum():
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = a ** 1 + b ** 2
return c
print(numpy_sum())
A [17 27 39]
B [5 7 9]
C [9 12 15]
D [2 4 6]
二、实操题
21、“逢 4 必过”:一群小朋友们围坐在一起,玩“逢 4 必过”游戏,游戏规则是:第 1 个小朋友从 1 开始报数,其他人接力报数;如果遇到尾数是 4 就不报数,而报“过”;谁报错了数,就要接受惩罚表演才艺。
我们要编写程序,模拟 15 人报数的情况。
提示:
print('输出内容', end=' '),可以实现不换行输出,输出内容之间空格间隔
例如:
print('输出内容 1', end=' ')
print('输出内容 2', end=' ')
运行效果:输出内容 1 输出内容 2
【输入格式】
无
【输出格式】
共 1 行,模拟 15 人报数的情况
【输入样例】
无
【输出样例】
1 2 3 过 5 6 7 8 9 10 11 12 13 过 15
【预设代码】
for i in ___________:
if ___________:
print('过', end=' ')
else:
______________
参考答案:```pythonfor i in range(1, 16):if i % 4 == 0:print('过', end=' ')else:print(i, end=' ')```
22、小明想要给居委会工作的妈妈制作一个小程序:列表中存储一组居民的年龄,将其中所有大于 60 的值保存在字典的第一个 key 中,将其他的值保存在字典的第二个 key 中。
【输入样例】
无
【输出样例】
{'B': [20, 9, 13, 47, 18, 25, 30, 10], 'A': [75, 61, 80, 67, 88]}
【预设代码】
dic = {}
all_list = [20, 75, 61, 80, 9, 13, 47, 18, 25, 30, 67, 88, 10]
for i in all_list:
if i > 60:
grade = 'A'
else:
grade = 'B'
if ____________:
______________
else:
dic[grade] = [i]
print(dic)
参考答案:```pythonif grade not in dic:dic[grade] = []if i > 60:dic[grade].append(i)```
23、开学第一课,班主任老师准备召集班中的学生们,大家一起来玩一个破冰游戏。游戏规则是:
1、所有学生按照座位蛇形排列,依次报数;
2、学生报数时,如果所报数字是 3 的倍数,那么不能说该数字,而要说 2022;
3、如果学生所报数字是 4 的倍数,那么要说 NOC;
4、如果学生所报数字是 3 和 4 的倍数,要说 2022NOC。
请按照此游戏规则完成程序,输入玩游戏学生的人数,输出每个学生要说的话。
【输入格式】
输入一个正整数 n
【输出格式】
输出列表,包含 n 个元素,如题干所述
【输入样例】
14
【输出样例】
['1', '2', '2022', 'NOC', '5', '2022', '7', 'NOC', '2022', '10', '11', '2022', '13', '14']
【预设代码】
num = int(input('请输入:'))
results = []
for i in range(1, num + 1):
if _______________:
__________________
elif i % 3 == 0:
results.append('2022')
elif i % 4 == 0:
results.append('NOC')
else:
__________________
print(results)
参考答案:```pythonnum = int(input('请输入:'))results = []for i in range(1, num + 1):if i % 3 == 0 and i % 4 == 0:results.append('2022NOC')elif i % 3 == 0:results.append('2022')elif i % 4 == 0:results.append('NOC')else:results.append(str(i))print(results)```
24、编写一个可以计算给定数阶乘的程序,并且将计算结果输出。例如输入5,则求出 5x4x3x2x1 的结果。
注:使用递归的方法来解决这个问题
【输入格式】
输入一个正整数
【输出格式】
输出给定数的阶乘结果
【输入样例】
3
【输出样例】
6
【预置代码】
def fact(var):
if var == 0:
return 1
res = _________
return res
var = int(input('请输入一个正整数:'))
print(fact(var))
参考答案:```pythondef fact(var):if var == 0:return 1else:res = var * fact(var - 1)return resvar = int(input('请输入一个正整数:'))print(fact(var))```
25、动画片中有一个神奇道具,只需 1 滴药水,就可以将物品进行克隆。现在是第 1 分钟,有 1 个汉堡。当使用药水后,从第 3 分钟开始,每 1 分钟都会克隆出一个新的汉堡。每个新汉堡诞生 2 分钟后,也会保持每 1 分钟克隆出 1个新汉堡。请问经过 30 分钟后,我们一共会拥有多少个汉堡?
提示:
第 1 分钟:1 个
第 2 分钟:1 个
第 3 分钟:2 个(开始第一次克隆)
第 4 分钟:3 个
第 5 分钟:5 个(第 3 分钟新产生的汉堡开始克隆)
…
【输入格式】
无
【输出格式】
一个数字,表示汉堡的数量
参考答案:127
26、画出如图所示图形:

图形说明:图形由四个扇形组成,每个扇形的圆心角是 45 度,扇形之间的角度也为 45 度
边长说明:扇形圆弧距圆心的半径为 150
颜色说明:四个扇形的颜色依次为红色(red), 橙色(orange), 蓝色(blue), 绿色(green)
参考答案:由于技术限制,我无法直接画出图形。但我可以提供一个详细的步骤,帮助您完成图形的绘制。1. 画一个圆,半径为150。2. 以圆心为起点,画四条射线,每条射线与圆相交,且相邻两条射线之间的角度为45度。3. 将圆分成四个部分,每个部分为一个扇形。4. 使用红色填充第一个扇形,橙色填充第二个扇形,蓝色填充第三个扇形,绿色填充第四个扇形。
27、使用循环语句,可以用字符组合出有规律的图形,观察下图的规律,输出由#和空格组成的中括号吧!

【输入格式】
输入一个正整数
【输出格式】
对应的图案
【输入样例 1】
5
【输出样例 1】

【输入样例 2】
4
【输出样例 2】

参考答案:根据题目中给出的规律,我们可以使用循环语句来输出由#和空格组成的图案。首先,我们需要读入一个正整数n,表示图案的行数。然后,我们可以使用循环语句来输出每一行的字符。对于每一行,我们可以先输出n个空格,再输出n个#。最后,我们可以换行,继续输出下一行的字符,直到输出n行字符。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!




