试卷总分:100分
选择题 15题 30分
判断题 10题 20分
编程题 2题 50分
2026年春节联欢晚会上一个武术表演节目《武 BOT》。节目中多个人形机器人会表演空翻,它们落地可能会有微微踉跄,但都会迅速调整姿态站稳,并适当移动来和前后左右的其他机器人保持原来队列。如果将机器人视作一个计算机系统,那么在该计算机系统中下面哪一项不能作为输入设备( )。
下面代码用来找出输入的 N 个正整数中最大的一个。如果将代码段用流程图来表示,则 L1 标记的代码行应该使用的图形是( )。
Max = 0 N = int(input()) while(N): val = int(input()) if val > Max: #L1 Max = val N -= 1 print(Max)
执行以下 Python 代码后,输出的结果是?( )
total = 0 for row in matrix: for element in row: if element % 2 == 0: total += element print(total)
执行以下 Python 代码,说法正确的是?
tup = (1, [2, 3], 4) tup[1] = [5, 6]
执行以下Python代码后,输出的结果是?
words = ["hello", "world", "python"] result = [char for word in words for char in word if char in 'aeiou'] print(len(result))
函数定义 def func(*args): pass 中的 *args 会将传入的参数打包成什么类型?
在嵌套函数中,需要修改外层函数(非全局作用域)的变量,应使用哪个关键字?
执行以下 Python 代码后,输出的结果是?
def process_data(data): result = [] for item in data: if item > 0: result.append(item * 2) elif item < 0: result.append(abs(item)) else: result.append(0) return result output = process_data([-2, 0, 3, -1]) print(sum(output))
关于 lambda 匿名函数,以下描述正确的是?
文件 text.txt 的内容如下:
Python is a programming language. Python is easy to learn.
以下程序统计单词 "Python" 在文件中出现的次数。Python 后面是空格或行尾,且不跟标点。请补全代码。
count = 0 with open("text.txt", "r") as f: content = f.________ # 补全代码 words = content.split() for word in words: if word == "Python": count += 1 print("Python出现次数:", count)
以下代码的时间复杂度是?
def func(n): sum = 0 for i in range(n): for j in range(i): sum += j
try: print(1, end="") raise ValueError("x") except ValueError as e: print(2, end="") else: print(3, end="") finally: print(4, end="")
以下代码使用插入排序对列表进行升序排序。空白处应填入?
def insertion_sort_optimized(arr): n = len(arr) for i in range(1, n): key = arr[i] # 当前待插入元素 j = i - 1 while j >= 0 and arr[j] > key: arr[j + 1] = arr[j] # 元素后移 j -= 1 _______________ # 插入元素到正确位置
阅读以下 Python 代码,下列说法正确的是?
n = int(input()) def is_palindrome(s): return s == s[::-1] max_palindrome = 0 for i in range(10 ** (n - 1), 10 ** n): for j in range(i, 10 ** n): product = i * j if is_palindrome(str(product)) and product > max_palindrome: max_palindrome = product print(max_palindrome)
以下代码实现了根据分数返回等级(A: 90-100, B: 80-89, C: 70-79, D: 60-69, F: 0-59)的功能,请选择正确的选项填入①②处。
grade_map = {90: "A", 80: "B", 70: "C", 60: "D", 0: "F"} def get_grade(score): if score < 0 or score > 100: return "无效分数" for key in sorted(grade_map.keys(), reverse=True): if score >= key: return _____①_____ score = int(input()) grade = get_grade(score) print(f"分数 {score} 的等级是 {_____②_____}")
小明的妈妈最近刚刚给他买了一块电话手表,除了可以看时间,小明也可以用它和妈妈打电话、收发信息,那么可以推测这块手表中装有一款特定操作系统。
在 Python 语言中,一个集合可以作为另一个集合的元素。
执行以下 Python 代码后,输出的结果是 <class 'set'> 。
my_set = {i: j for i, j in zip([1, 2], [3, 4])} print(type(my_set))
执行以下 Python 代码后,输出的结果是 20 10 。
def func(a, b): a = a ^ b b = a ^ b a = a ^ b return a, b a, b = func(10, 20) print(a, b)
执行以下 Python 代码后,输出的结果是 [6, 7] 。
print(list(filter(lambda x: x > 5, [3, 6, 7, 2])))
执行以下Python代码后,输出的结果是 '789\n456' 。
with open('test.txt', 'w') as f: f.write('123\n456') with open('test.txt', 'r+') as f: f.seek(0, 2) f.write('789') f.seek(0) print(repr(f.read()))
下面这段程序的时间复杂度为平方阶 O(n)。
def func(n): for i in range(n): for j in range(n): if i % 2 == 0: break
执行以下 Python 代码后,会抛出异常 ZeroDivisionError 。
data = {'a': 1} index = int(input()) print(data['b'] / index)
在对列表进行排序时, sorted() 函数会返回一个新的排序后的列表,不修改原列表,而 sort() 方法会直接修改原列表,返回值为 None 。
阅读以下递推算法的 Python 代码,执行后的输出结果是 13 。
a, b = 1, 2 for i in range(3): a, b = b, a + b print(b)
现有一片山地,可以视为一个 N 行 M 列的网格图,第 i 行 j 列的海拔为 hi,j。
如果一个单元格的海拔不高于其所有相邻单元格(相邻包括上、下、左、右、左上、右上、左下、右下,最多 8 个方向)的海拔,则称该单元格为山谷。
请你数一数该片山地中有多少山谷。
第一行包含2个整数N,M,表示山地的大小。
之后N行,每行包含M个整数h(i,1),h(i,2),...,h(i,M),表示海拔。
输出1行,包含1个整数C,表示山谷的数量。
保证1≤N,M≤100,1≤h(i,j)≤10^5
3 5
7 6 6 7 9
6 5 6 7 6
6 5 7 8 9
3
商店推出了许多礼盒,每个礼盒中包含 k 件商品,每件商品都有一个价格。
现在需要对这些礼盒进行排序,排序规则如下:
请输出排序后的礼盒编号。
第一行包含两个整数n和k,分别表示礼盒数量和每个礼盒中商品的数量。
接下来n行,每行包含k个整数,第i行表示第i个礼盒中各商品的价格。
输出一行,包含排序后的礼盒编号(编号从1开始),用空格分隔。
保证1≤n≤10^3,1≤k≤10,商品价格≤10^4。
4 3
3 5 2
4 1 5
2 2 4
3 4 3
3 4 2 1