🏆 全国青少年信息素养大赛

算法应用主题赛 — 智传民韵(民族文化)
难度:中等 | 时长:90 分钟 | 满分:100分
题型:5单选(10分) + 5多选(20分) + 4编程(70分)

算法应用主题赛 — 智传民韵(民族文化)(中等)
考生:— 第 1 / 14 题
--:--
第 1 题 单选题 2 分
在展示蒙古族马头琴信息的程序中,使用字符串格式化输出。以下代码的输出结果是?
name = "马头琴"
length = 100
print(f"{name}的长度约为{length}厘米")
第 2 题 单选题 2 分
藏族地区记录了7天的气温数据。以下代码的输出结果是?
temps = [12, 15, 10, 18, 14, 16, 11]
result = temps[1:4]
print(result)
第 3 题 单选题 2 分
以下是记录几种民族乐器及其分类的字典。以下代码的输出结果是?
instruments = {"马头琴": "弦鸣乐器", "芦笙": "气鸣乐器", "铜鼓": "体鸣乐器", "口弦": "簧鸣乐器"}
print(instruments.get("琵琶", "未收录"))
第 4 题 单选题 2 分
定义一个计算蒙古包占地面积的函数。以下代码的输出结果是?
def area(radius, pi=3.14):
    return pi * radius * radius
print(area(3))
第 5 题 单选题 2 分
读取一个记录民族节日日期的文本文件,以下哪种方式可以安全地打开并读取文件全部内容?
第 6 题 多选题 4 分
在处理民族医药数据时,可能会遇到各种异常。以下关于异常处理的说法,哪些是正确的?
第 7 题 多选题 4 分
以下是一个存储各民族人口信息的字典。以下哪些遍历方式可以正确输出所有键值对?
info = {"苗族": 942, "壮族": 1692, "藏族": 628}
第 8 题 多选题 4 分
以下列表存储了六种民族乐器的名称。哪些代码可以将其按字母顺序排序(升序)?
instruments = ["二胡", "琵琶", "古筝", "马头琴", "芦笙", "冬不拉"]
第 9 题 多选题 4 分
在处理民族织锦纹样名称字符串时,以下哪些字符串方法的描述是正确的?
第 10 题 多选题 4 分
在记录民族节日的程序中使用了time模块。以下关于time模块的说法,哪些是正确的?
第 11 题 编程操作题 0 分

题目描述:
蒙古族那达慕大会上,赛马是最受欢迎的比赛之一。裁判记录了n位骑手的成绩(以秒为单位)。请编写程序,将每位骑手的成绩转换为"分钟:秒"的格式(秒数保留整数,不足60秒的部分显示为秒),并按照总秒数从快到慢排序输出。

输入格式:
第一行输入一个整数n(1 ≤ n ≤ 100),表示骑手人数。
接下来n行,每行输入一个正整数,表示骑手的成绩(总秒数,1 ≤ t ≤ 7200)。

输出格式:
输出n行,每行格式为"M分S秒",按总秒数从小到大排列。

示例输入:

4
185
150
210
178

示例输出:

2分30秒
2分58秒
3分5秒
3分30秒
第 12 题 编程操作题 0 分

题目描述:
苗族刺绣中有多种传统图案。一段刺绣描述文字中包含多个图案名称,各名称之间用逗号分隔。请编写程序,统计每种图案出现的次数,并按出现次数从多到少输出。

输入格式:
输入一行字符串,包含若干图案名称,各名称之间用英文逗号分隔。

输出格式:
每行输出一种图案及其出现次数,格式为"图案名:次数",按次数从多到少排列。若次数相同,按图案名的字母/拼音顺序排列。

示例输入:

蝴蝶,龙,蝴蝶,鱼,蝴蝶,龙,鸟

示例输出:

蝴蝶:3
龙:2
鸟:1
鱼:1
第 13 题 编程操作题 0 分

题目描述:
某民族文化研究中心将各民族节日信息保存在文本文件festivals.txt中,每行记录一个节日,格式为"民族名,节日名,月份"。请编写程序完成以下任务:
1. 读取文件中的所有节日信息
2. 将信息存入一个字典,键为月份(1-12),值为该月份节日名称的列表
3. 输入一个月份,输出该月有哪些民族节日
4. 若该月没有节日,输出"本月无民族节日记录"
5. 使用异常处理确保文件不存在时输出"文件不存在,请检查文件路径"

输入格式:
第一行输入文件名(如festivals.txt)。
第二行输入一个整数month(1-12),表示要查询的月份。
festivals.txt文件示例内容:
苗族,苗年,10
壮族,三月三歌节,3
蒙古族,那达慕,7
彝族,火把节,6
藏族,雪顿节,8
傣族,泼水节,4

输出格式:
第一行输出"X月的民族节日有:"(X为月份)
接下来每行输出一个节日名称
若没有节日则输出"本月无民族节日记录"

示例输入:

festivals.txt
3

示例输出:

3月的民族节日有:
三月三歌节
第 14 题 编程操作题 0 分

题目描述:
哈尼梯田是一套精妙的灌溉系统。梯田共有n层(从第1层到第n层,第1层最高),水从第1层逐层向下流。每层梯田有一个蓄水容量(正整数),水流入该层后会先蓄满,多余的水继续流向下一层。
给定每层梯田的蓄水容量列表capacity(长度为n),以及从顶部注入的总水量total_water。请编写程序,按照从上到下的顺序计算最终每层梯田的实际蓄水量。
- 规则:水优先注满上层梯田,剩余水继续流向下一层。
- 若水流完所有梯田后还有剩余,则多余的水流出梯田系统(不纳入任何一层的蓄水量)。

输入格式:
第一行输入两个整数n和W,分别表示梯田层数和总注水量,用空格分隔。
第二行输入n个正整数,表示每层梯田的蓄水容量,用空格分隔。

输出格式:
在一行中输出每层梯田的最终蓄水量,用空格分隔。

示例输入:

4 30
10 15 10 8

示例输出:

10 15 5 0
说明:30单位水先注满第1层(10),剩余20;注满第2层(15),剩余5;第3层容量10,注入5(未满),剩余0;第4层得到0。