2026全国信息素养大赛:python数字守艺人(五)
1. 您的姓名:
2. 运行以下程序,输出结果是()
a = [5, 3, 8, 1, 2]
a.sort()
print(a[2])
3
5
2
8
3. 下列关于排序算法说法正确的是()
冒泡排序最优时间复杂度O(1)
选择排序时间复杂度O(n²)
二分查找可用于无序列表
sorted()会修改原列表
4. 运行以下二分查找程序,输出为()
def find(x):
a = [1,3,5,7,9]
l, r = 0, 4
while l <= r:
mid = (l + r) // 2
if a[mid] == x:
return mid
elif a[mid] < x:
l = mid + 1
else:
r = mid - 1
return -1
print(find(5))
2
3
1
0
5. 运行以下程序,输出结果是()
def craft(x):
if x < 2:
return 1
return x * craft(x-1)
print(craft(4))
24
12
6
2
6. 运行以下双重循环,s 的值为()
s = 0
for i in range(1, 4):
for j in range(1, i+1):
s += i + j
print(s)
16
15
14
17
7. 对列表 [9,7,5,3,1] 进行升序冒泡,第一趟结束后列表是()
[7,5,3,1,9]
[1,3,5,7,9]
[9,7,5,3,1]
[7,9,5,3,1]
8. 二分查找要求列表必须是()
无序
有序
降序
任意
9. 运行以下程序,输出为()
AArtist=[{"id":1,"val":10},{"id":2,"val":20}]
print(artist[0]["val"] + artist[1]["id"])
12
11
21
30
10. 运行以下程序,输出为()
cnt = 0
for i in range(2,5):
for j in range(1,4):
if i % j == 0:
cnt += 1
print(cnt)
5
6
4
7
11. 下列属于选择排序核心思想的是()
相邻交换
每次选最小放到前面
分治
二分
12. 运行以下二分程序,输出为()
a = [2,4,6,8,10]
l, r = 0, 4
while l < r:
mid = (l + r + 1) // 2
if a[mid] <= 6:
l = mid
else:
r = mid - 1
print(l)
2
1
3
0
13. 关于 Python 函数,说法错误的是()
函数可以嵌套调用
递归必须有边界
默认参数必须放在最后
列表传参不会改变原列表
14. 运行以下程序,输出为()
a = [[1,2,3],[4,5,6],[7,8,9]]
s = 0
for i in range(3):
for j in range(3):
if i == j:
s += a[i][j]
print(s)
15
14
16
13
15. 运行以下程序,输出为()
def f(a, b):
return max(a, b)
print(f(f(2,5),3))
5
3
2
6
16. 运行以下程序,输出为()
a = [5, 1, 4, 2, 3]
for i in range(len(a)-1):
for j in range(len(a)-1-i):
if a[j] > a[j+1]:
a[j], a[j+1] = a[j+1], a[j]
print(a[3])
4
3
5
2
17. 冒泡排序和选择排序的时间复杂度都是O(n²)。
正确
错误
18. 二分查找只能在有序列表中使用。
正确
错误
19. 字典可以用来存储数字守艺人的编号、姓名、技艺值。
正确
错误
20. Python 递归深度过大会报错 RecursionError。
正确
错误
21. 双重循环的执行次数一定等于外层次数 × 内层次数。
正确
错误
关闭
更多问卷
复制此问卷