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

算法应用主题赛 — 丝路新程(丝路文化)
难度:简单 | 时长:60 分钟 | 满分:100分
题型:5单选(10分) + 5多选(20分) + 4编程(70分)

算法应用主题赛 — 丝路新程(丝路文化)(简单)
考生:— 第 1 / 14 题
--:--
第 1 题 单选题 2 分
在一带一路的贸易统计中,有以下变量定义。哪个变量的数据类型是布尔值(bool)?
第 2 题 单选题 2 分
海上丝绸之路的商人记录了某批瓷器的单价为字符串 price_str = "200"。要将它转换为整数进行计算,以下代码正确的是?
第 3 题 单选题 2 分
驼队商人记录了沿途的地名:route = "长安-敦煌-喀什-撒马尔罕"。执行 route[3:5] 的结果是?
第 4 题 单选题 2 分
商人想找出驼队中是否有空闲的骆驼。以下代码的输出是什么?
camels = ["载货", "空闲", "载货", "休息"]
for c in camels:
    if c == "空闲":
        print("找到空闲骆驼")
        break
else:
    print("没有空闲骆驼")
第 5 题 单选题 2 分
在丝绸之路上,商人统计路过的驿站,但沙漠中的临时休息点不计入驿站。以下代码会输出几个数?
for i in range(1, 6):
    if i == 3:
        continue
    print(i)
第 6 题 多选题 4 分
丝路商人在计算货物总价时使用数学运算。以下关于Python数学运算的说法,正确的有?(多选)
第 7 题 多选题 4 分
在丝绸之路上,商人需要重复标记货物编号。关于字符串的操作,以下说法正确的有?(多选)
第 8 题 多选题 4 分
商人需要复制一份货物清单。关于列表的复制,以下说法正确的有?(多选)
第 9 题 多选题 4 分
驼队在沙漠中行进,每天都会检查是否到达下一个驿站。以下关于 while 循环的说法,正确的有?(多选)
第 10 题 多选题 4 分
在丝路贸易数据处理中,常用的内置函数可以帮助快速计算。以下关于内置函数的说法,正确的有?(多选)
第 11 题 编程操作题 0 分

题目描述:
丝绸之路上的驼队每行进 7 天就需要在驿站休息 1 天。请你编写程序,用户输入一个天数编号(从第1天开始),程序判断该天是否为休息日。
判断规则:如果天数编号能被 7 整除(即余数为0),则该天为休息日,输出"第X天是休息日"。否则,输出"第X天继续赶路"。

输入格式:
一行,一个正整数,表示天数编号。

输出格式:
一行,按规则输出判断结果。
示例输入1:
7
示例输出1:
第7天是休息日
示例输入2:
5
示例输出2:
第5天继续赶路

示例输入:

示例输出:

第 12 题 编程操作题 0 分

题目描述:
在丝绸之路的丝绸贸易中,不同地区的度量单位不同。中原地区使用"尺",西域使用"米"。已知:1尺 ≈ 0.33米。
请你编写一个函数 convert_to_meter(chi),接收一个尺数(整数),返回对应的米数(保留两位小数)。然后在主程序中,用户输入一个尺数,调用函数并输出换算结果。

输入格式:
一行,一个正整数,表示尺数。

输出格式:
一行,输出"X尺 ≈ Y米"(Y为换算后的米数,保留两位小数)。

示例输入:

15

示例输出:

15尺 ≈ 4.95米
第 13 题 编程操作题 0 分

题目描述:
丝绸之路上的瓷器来自不同的窑口,每个窑口生产的瓷器有不同的质量等级。请你编写程序,实现以下功能:
1. 用户先输入一个窑口名称(如"景德镇"、"德化"、"龙泉")。
2. 根据窑口输出对应的等级和特色:
- 景德镇 → "等级:御窑,特色:青花瓷"
- 德化 → "等级:官窑,特色:白瓷"
- 龙泉 → "等级:民窑,特色:青瓷"
- 其他输入 → "未收录该窑口信息"
3. 然后用户输入该批次瓷器的数量(正整数)。
4. 程序根据等级判断每件瓷器的单价:
- 御窑(景德镇):每件 500 文
- 官窑(德化):每件 300 文
- 民窑(龙泉):每件 100 文
5. 输出该批次瓷器的总价。

输入格式:
第一行:窑口名称(字符串)。
第二行:瓷器数量(正整数)。

输出格式:
第一行:窑口等级和特色信息(或"未收录该窑口信息")。
如果窑口被收录,第二行输出:该批次总价:X文。
如果窑口未被收录,不输出第二行。
示例输入1:
景德镇
3
示例输出1:
等级:御窑,特色:青花瓷
该批次总价:1500文
示例输入2:
汝窑
5
示例输出2:
未收录该窑口信息

示例输入:

示例输出:

第 14 题 编程操作题 0 分

题目描述:
"一带一路"倡议涵盖了众多沿线国家。请你编写程序,实现对贸易伙伴国家的统计功能:
1. 程序初始包含一份已有的国家列表:countries = ["哈萨克斯坦", "乌兹别克斯坦", "伊朗"]。
2. 用户首先输入一个整数 m,表示接下来要进行 m 次操作。
3. 每次操作为一行输入,格式如下:
- join 国家名:表示有新的国家加入贸易合作,将其添加到列表末尾。
- leave 国家名:表示有国家退出合作,将其从列表中移除(如果存在)。
- count:统计并输出当前国家数量。
- list:按顺序输出当前所有国家名称,每行一个,前面加上编号(从1开始)。
4. 注意:如果执行 leave 操作时,列表中国家数量为1,则不能移除(至少保留一个国家),并输出"无法移除,至少保留一个国家。"

输入格式:
第一行:一个正整数 m,表示操作次数。
接下来 m 行:每行一个操作命令。

输出格式:
对 count 命令:输出"当前合作伙伴数量:X国"。
对 list 命令:先输出"===合作伙伴列表===",然后每行输出"编号. 国家名"。
对无法移除的情况:输出"无法移除,至少保留一个国家。"

示例输入:

6
list
join 土耳其
join 埃及
count
leave 伊朗
list

示例输出:

===合作伙伴列表===
1. 哈萨克斯坦
2. 乌兹别克斯坦
3. 伊朗
当前合作伙伴数量:5国
===合作伙伴列表===
1. 哈萨克斯坦
2. 乌兹别克斯坦
3. 土耳其
4. 埃及