试卷总分:100分
选择题 15题 30分
判断题 10题 20分
编程题 2题 50分
学校组织同学们到未来农场参观,小明听讲解员介绍。在智能温室中,湿度传感器可以连续检测土壤的湿度,并将检测到的湿度数据实时发送给中央控制器。中央控制器根据这些数据判断是否开启灌溉系统。请问,这里的湿度传感器所发挥的作用,类似于计算机系统中的哪一类组件?
小明同学去郊外农场参观回来后,在自己的电脑中安装了一个 3D 农场仿真模拟系统。因为他今年买的这台二手电脑有点老旧,3D 农场仿真模拟系统运行时经常弹出“系统内存不足”的警告,导致系统卡顿严重。他计划通过增加物理内存来解决问题。请问他应该购买以下哪种硬件组件?
在 Python 中, -1 的 位补码用十六进制表示是?
执行 print(bin(0o15)) 的输出结果是?
下列哪个表达式可以将整数 x 的二进制表示中从右往左数第 位(最低位为第 位)强制设置为 1 ,而其他位保持不变?
下面 Python 代码执行后,输出的结果是?
lst = [1, 2, 3, 4, 5] print(lst.pop(-2)) print(lst)
t = (2, 4, 6, 2) ,执行 t.count(2) 的结果是?
dict_a = {'a': 1, 'b': 2, 'c': 3} dict_b = {'b': 4, 'd': 5} dict_a.update(dict_b) print(dict_a['b'])
执行 s = "a,b,c,d"; print(s.split(',', 2)) 的结果是?
已知 set1 = {1, 2} , set2 = {3} 。现要求在不修改 set1 的前提下,获得一个包含 set1 和 set2 所有元素的新集合,以下哪个操作是正确的?
从字典 d = {'a': 1, 'b': 2} 中,如何得到一个只包含键的列表?
用 元、 元、 元硬币凑出 元,且硬币总数不超过 枚。以下程序计算符合要求的组合个数,横线处应填写的代码是?
count = 0 for one in range(0, 11): for two in range(0, 6): for five in range(0, 3): total_money = one + two * 2 + five * 5 total_coins = one + two + five if ________: count += 1 print(count)
下列程序能够将列表中的偶数筛选出来,并组成新列表。横线处填写的代码是?
nums = [1, 2, 3, 4, 5, 6] result = [x for x in nums if ________] print(result) # 期望输出 [2, 4, 6]
某电商平台有 M 种商品类别,平台记录了 N 条销售记录,每条记录包含商品类别编号和销售数量。需要找出每个类别中单次销售数量最多的那一笔(即该类别的最大销售数量),并输出这些最大数量中的最小值。以下程序试图实现此功能,横线处填写的代码是?
M, N = map(int, input().split()) max_sale = [None] * (M + 1) # 用 None 初始化,表示暂无记录 for _ in range(N): cate, amount = map(int, input().split()) ____________ max_sale[cate] = amount valid_max = [v for v in max_sale[1:] if v is not None] result = min(valid_max) print(result)
以下程序实现了一种简单的“翻转”加密:将大写字母表中的每个字母替换为与其对称的字母( A ↔ Z 、B ↔ Y 、 C ↔ X 、……)。横线处填写的代码是?
text = "HELLO" result = [] for ch in text: if 'A' <= ch <= 'Z': _________ result.append(new_ch) else: result.append(ch) encrypted = ''.join(result) print(encrypted)
又到期末考试周,小明发现这次许多闭卷考试不仅禁止携带手机、平板电脑,还有最近比较时髦的各类 AI 眼镜(也有叫智能眼镜)也同样不允许带入考场。这些 AI 眼镜应该也是内置了操作系统并可能支持 Wi-Fi 或蓝牙连接。
bin() 、 oct() 、 hex() 这三个函数的返回值类型是整数( int )。
表达式 (x & (x-1)) 可以用来判断正整数 x 是否为 2 的幂次方。
切片操作 mylist[2:5:-1] 会返回索引 2 到索引 4 (包含)的元素,但顺序是反向的。
创建只包含一个元素的元组时,必须在元素后加一个逗号,例如 (1,) 。
执行 d1 = {x: x for x in [1, 1, 2]} 后, d1 为 {1: 1, 2: 2} 。
使用 in 运算符检查子字符串是否存在时,如果字符串为空, "" in "abc" 将返回 False 。
执行下面 Python 代码后,输出的结果为 2 。
s = {10, 20, 30} s.remove(20) s.discard(40) print(len(s))
执行下面 Python 代码后,输出的结果为 7 。
my_str = "hello world" my_set = set(my_str) result = len(''.join(my_set)) print(len)
下列 Python 代码能够正确统计出所有能被 3 整除且至少包含一个数字 5 的四位数的个数。
count = 0 for num in range(1000, 10000): if num % 3 == 0: digits = [int(d) for d in str(num)] if 5 in digits: count += 1 print(count)
小杨同学有一串数字,想把它们变成另一串数字,这个过程叫做加密。
他有一本密码本,密码本告诉你,每个数字应该变成哪个数字。
数字一共有 10 个:0 、 1 、 2 、 3 、 4 、 5 、 6 、 7 、 8 、 9
密码本会依次告诉你:
0 要变成什么
1 要变成什么
2 要变成什么
……
9 要变成什么
请你按照密码本,把原来的每个数字都换成新的数字,然后输出。
输入共有 3 行。
第一行:一个整数,表示有多少个数字需要加密;
第二行:这些需要加密的数字;
第三行:密码本,一共 10 个数字。
这10个数字的意思是:
第 1 个数字:表示 0 加密后变成什么;
第 2 个数字:表示 1 加密后变成什么;
第 3 个数字:表示 2 加密后变成什么;
第 10 个数字:表示 9 加密后变成什么。
输出加密后的数字。
也就是:把输入第二行里的每个数字,都按照输入第三行的密码本换掉后输出。
需要加密的数字个数不超过 20000 个,且均为 0 到 9;密码本中的数字不重复,且均为 0 到 9。
7
0 2 0 3 4 1 9
9 0 1 2 3 4 5 6 7 8
9 1 9 2 3 0 8
小杨同学有一串字符,里面可能有:
现在小杨同学想把这串字符变一变,规则如下:
1. 如果是大写字母,就变成对应的小写字母;
2. 如果是小写字母,就变成对应的大写字母;
3. 如果是数字,就变成 * 。
请你按照这个规则,帮小杨把整串字符转换好。
输入一共有 2 行。
第一行:一个整数,表示这串字符一共有多少个字符。
第二行:一串连续的字符,中间没有空格。
输出转换后的字符。
注意:输出时字符之间不要加空格。
字符个数不会超过 1000 个。
每个字符只会是大写字母、小写字母或数字。
5
aBc98
AbC**