当前位置:首页>python>信息素养python模拟题(4~6年级)

信息素养python模拟题(4~6年级)

  • 2026-10-08 21:10:24
信息素养python模拟题(4~6年级)

🐍 2026年算法应用主题赛 Python模拟题(小学4-6年级)

时长:120分钟 | 满分:100分场景:四选一(题目中标注)

第一部分:客观题(30分)

单选题(每题2分,共10分)

1. 场景一(数字守艺):计算剪纸原材料成本,10张红纸每张3元,5张金纸每张8元,最适合的数据结构是:

A. 两个独立变量

B. 字典{'红纸': (10, 3), '金纸': (5, 8)} ✓

C. 列表[10, 3, 5, 8]

D. 元组(10, 3, 5, 8)

2. 场景二(星火征途):分析5个村庄的粮食产量[120, 85, 200, 150, 90],要找出产量最高的村庄编号(1-based),应使用:

A. max()函数

B. list.index(max(list)) + 1 ✓

C. sort()后取第一个

D. len()函数

3. 场景三(丝路新程):骆驼载重优化问题,有n只骆驼各有一定载重,要尽可能多装货物,应采用:

A. 随机选择

B. 贪心算法——优先选载重大的骆驼 ✓

C. 只选第一只

D. 平均分配

4. 场景四(智传民韵):生成织锦重复纹样"红黄蓝"循环k次,最适合的Python语句是:

A. if k > 0

B. for i in range(k): 循环拼接 ✓

C. while True:

D. def函数定义

5. 跨场景通用:Python标准库中,哪个模块可用于高效计数:

A. math

B. random

C. collections.Counter ✓

D. os

多选题(每题4分,共20分,多选少选不得分)

6. 场景一(数字守艺):Python非遗流程模拟中,可能用到的标准库有:

A. time(模拟时间流逝)✓

B. random(模拟随机温度波动)✓

C. numpy(数值计算)

D. matplotlib(绘图)

答案:AB(numpy和matplotlib是第三方库,禁用)

7. 场景二(星火征途):红色文化数据整理分析,可能涉及的操作:

A. 列表排序sort() ✓

B. 字典统计频次 ✓

C. 文件读写open() ✓

D. 网络请求requests.get()

答案:ABC(requests是第三方库)

8. 场景三(丝路新程):丝绸之路货物运输问题,可能用到的算法思想:

A. 贪心算法(优先装重货)✓

B. 排序算法(按重量/价值排序)✓

C. 简单枚举(尝试组合)✓

D. 深度学习预测

答案:ABC

9. 场景四(智传民韵):民族技艺文旅推广方案设计,可能涉及:

A. 时间计算datetime ✓

B. 预算分配(简单数学运算)✓

C. 路径规划(贪心/枚举)✓

D. 机器学习推荐系统

答案:ABC

10. Python编程规范中,正确的有:

A. 使用input()读取标准输入 ✓

B. 使用print()输出结果 ✓

C. 代码相似度≥80%会被判定作弊 ✓

D. 可以使用import pandas as pd

答案:ABC

第二部分:编程题(70分)

编程题1:场景一(数字守艺)—— 皮影制作工时统计(15分)

【题目背景】皮影戏是非遗文化瑰宝。某工坊制作皮影角色,需要经过雕刻、敷彩、组装三道工序。给定多个皮影角色的各工序耗时,统计:

  1. 每个皮影的总制作时间

  2. 所有皮影的平均制作时间(保留1位小数)

  3. 找出耗时最长的皮影编号

【输入格式】第一行:整数n(皮影数量,1 ≤ n ≤ 50) 接下来n行:每行3个整数,分别表示雕刻、敷彩、组装耗时(分钟,均≤120)

【输出格式】n行:每行"皮影X: 总耗时Y分钟"(X为编号1-n) 第n+1行:"平均耗时: Z分钟"第n+2行:"耗时最长: 皮影K, 总耗时M分钟"

【样例输入】

345 30 2060 25 3530 40 25

【样例输出】

皮影1: 总耗时95分钟皮影2: 总耗时120分钟皮影3: 总耗时95分钟平均耗时: 103.3分钟耗时最长: 皮影2, 总耗时120分钟

【评分标准】

  • 5组测试数据,每组3分

  • 格式错误扣1分/处

【参考代码】

n =int(input())times =[]for i inrange(n):    a, b, c =map(int,input().split())    total = a + b + c    times.append((i +1, total))print(f"皮影{i+1}: 总耗时{total}分钟")# 计算平均avg =sum(t[1]for t in times)/ nprint(f"平均耗时: {avg:.1f}分钟")# 找最长max_puppet =max(times, key=lambda x: x[1])print(f"耗时最长: 皮影{max_puppet[0]}, 总耗时{max_puppet[1]}分钟")

编程题2:场景二(星火征途)—— 根据地物资调配(15分)

【题目背景】红军有n个村庄,第i个村庄有a[i]斤粮食储备。现在需要支援前线m斤粮食,按储备量从大到小的顺序征集(储备多的先出),直到凑够m斤。计算哪些村庄被征集、各出多少斤。

【输入格式】第一行:整数n和m(村庄数、需征集量,1 ≤ n ≤ 100) 第二行:n个整数,各村庄储备量(均≤1000)

【输出格式】多行:每行"村庄X 出粮Y斤"(按征集顺序) 最后一行:"共征集: Z斤"(Z≥m,可能超额)

【样例输入】

5 800300 500 200 600 400

【样例输出】

村庄4 出粮600斤村庄2 出粮500斤共征集: 1100斤

【解释】按储备排序:600, 500, 400, 300, 200。先征集600(村庄4),还需200;再征集500(村庄2),已超800,停止。

【评分标准】

  • 5组测试数据,每组3分

【参考代码】

n, m =map(int,input().split())reserves =list(map(int,input().split()))# 绑定编号并排序(储备量降序)villages =[(i +1, reserves[i])for i inrange(n)]villages.sort(key=lambda x:-x[1])# 按储备降序collected =0for vid, amount in villages:if collected >= m:breakprint(f"村庄{vid} 出粮{amount}斤")    collected += amountprint(f"共征集: {collected}斤")

编程题3:场景三(丝路新程)—— 驼队载重优化(20分)

【题目背景】丝绸之路商队有n只骆驼,第i只骆驼最大载重为w[i]斤。现有m件货物,第j件货物重为g[j]斤。每只骆驼最多驮一件货物,且货物重量不能超过骆驼载重。计算最多能运走多少件货物。

【输入格式】第一行:整数n和m(骆驼数、货物数,均≤100) 第二行:n个整数,骆驼载重 第三行:m个整数,货物重量

【输出格式】一个整数:最多运走货物件数

【样例输入】

4 5100 80 120 9090 110 70 85 130

【样例输出】

3

【解释】骆驼载重排序:120, 100, 90, 80 货物重量排序:130, 110, 90, 85, 70

  • 130:无骆驼能驮(最大120)

  • 110:120的骆驼驮

  • 90:100的骆驼驮

  • 85:90的骆驼驮

  • 70:80的骆驼驮 共4件?重新检查...

修正:120驮110,100驮90,90驮85,80驮70 → 4件。但样例输出3,需重新理解...

【修正理解】货物不可拆分,每只骆驼最多一件,货物也最多被运一次。贪心匹配:小骆驼尽量运小货,大骆驼运大货。

n, m =map(int,input().split())camels =sorted(list(map(int,input().split())))goods =sorted(list(map(int,input().split())))# 双指针:小骆驼配小货i, j =0,0# i-骆驼, j-货物count =0while i < n and j < m:if camels[i]>= goods[j]:# 骆驼能驮此货        count +=1        i +=1        j +=1else:# 骆驼太小,换更大的骆驼        i +=1print(count)

【评分标准】

  • 10组测试数据,每组2分

编程题4:场景四(智传民韵)—— 民族纹饰生成与优化(20分)

【题目背景】某民族织锦有基础纹样单元(字符串,如"ABC"),需要:

  1. 重复k次生成完整纹样

  2. 统计各字符出现次数

  3. 找出出现次数最多的字符(并列则取字典序最小)

  4. 若最多字符次数 > k×2,输出"需优化纹样设计"

【输入格式】第一行:字符串s(基础纹样,长度1-10,大写字母) 第二行:整数k(重复次数,1 ≤ k ≤ 100)

【输出格式】第一行:完整纹样字符串 第二行:各字符次数(格式A:X B:Y...,按字母顺序) 第三行:"最多: 字符Z, 次数N"第四行:"优化建议: XXX"(需优化输出"需优化纹样设计",否则输出"设计合理")

【样例输入1】

ABC3

【样例输出1】

ABCABCABCA:3 B:3 C:3最多: A, 次数3优化建议: 设计合理

【样例输入2】

AAAB2

【样例输出2】

AAABAAABA:6 B:2最多: A, 次数6优化建议: 需优化纹样设计

【解释】样例2:k=2,k×2=4,A出现6次 > 4,需优化。

【评分标准】

  • 10组测试数据,每组2分

【参考代码】

from collections import Counters =input().strip()k =int(input())# 生成完整纹样full = s * kprint(full)# 统计次数count = Counter(full)# 按字母顺序输出chars =sorted(count.keys())line2 =' '.join([f"{c}:{count[c]}"for c in chars])print(line2)# 找最多(次数相同取字典序最小)max_char =min(count.keys(), key=lambda x:(-count[x], x))max_count = count[max_char]print(f"最多: {max_char}, 次数{max_count}")# 优化判断if max_count > k *2:print("优化建议: 需优化纹样设计")else:print("优化建议: 设计合理")

感谢您抽出

.

.

来阅读本文

往/期/回/顾

REVIEW

24年信息小学python真题

23年信息小学python真题

22年信息小学python真题

2022年信息Python国赛

24年信息初中C++真题

23年信息小学C++真题

信息素养小学C++考前笔记

python老师必看的2026年信息素养新规则

C++老师必看的2026年信息素养新规则

关于举办2025—2026学年世界机器人大会青少年机器人设计与信息素养大赛(信息素养类)的通知

最新文章

随机文章