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

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

算法应用主题赛 — 丝路新程(丝路文化)(简单)
考生:— 第 1 / 14 题
--:--
第 1 题 单选题 2 分
西域三十六国中,龟兹国的名称用字符串表示为 name = "龟兹"。执行 len(name) 的结果是?
第 2 题 单选题 2 分
河西走廊的四个重镇名称存储在字符串中:route = "敦煌酒泉张掖武威"。要获取最后一个字"威",正确的索引方式是?
第 3 题 单选题 2 分
驼队商人用 input() 输入运送的丝绸匹数。以下关于 input() 的说法,正确的是?
第 4 题 单选题 2 分
商人清点仓库中的香料袋数。以下 while 循环执行后,count 的值是多少?
count = 0
bags = 5
while bags > 0:
    count += 1
    bags -= 1
print(count)
第 5 题 单选题 2 分
在丝绸之路贸易中,商人判断是否能够成交:需要同时满足"货物充足"且"价格合理"。用变量 enough_stock = True 和 price_ok = False 表示。以下哪个表达式的结果为 True?
第 6 题 多选题 4 分
在丝路贸易记录中,商人需要对商品名称字符串进行处理。已知 s = " 丝绸 "(前后有空格),以下说法正确的有?(多选)
第 7 题 多选题 4 分
商人在计算货物总量时使用了赋值运算符。假设 total = 100,以下说法正确的有?(多选)
第 8 题 多选题 4 分
驼队商人用 range() 函数生成每天的编号。以下关于 range() 的说法,正确的有?(多选)
第 9 题 多选题 4 分
丝路贸易中,商人用元组存储不可修改的商品产地信息。关于元组的说法,正确的有?(多选)
第 10 题 多选题 4 分
在丝路驿站管理系统中,使用 print() 函数输出信息。以下关于 print() 用法的描述,正确的有?(多选)
第 11 题 编程操作题 0 分

题目描述:
丝绸之路上的香料商人每天进行交易。请你编写程序,使用 while 循环,让用户连续输入每天卖出的香料袋数(正整数)。当输入为 0 时表示当天没有交易,循环结束。程序输出累计卖出的香料总袋数。

输入格式:
多行输入,每行一个整数,表示当天卖出的香料袋数。当输入为 0 时停止输入。

输出格式:
一行,输出"累计卖出香料:X袋"(X为总袋数)。

示例输入:

3
5
2
0

示例输出:

累计卖出香料:10袋
第 12 题 编程操作题 0 分

题目描述:
丝绸之路上的驼队需要检查货物的总重量是否超过了骆驼的承载能力。每匹骆驼的最大负重为 200 斤。请你编写程序,用户输入货物的总重量(斤),程序判断并输出:
- 如果总重量小于等于 200 斤,输出"安全,可以出发。"
- 如果总重量大于 200 斤且小于等于 250 斤,输出"超重,需要减少货物。"
- 如果总重量大于 250 斤,输出"严重超重,需要增加骆驼。"

输入格式:
一行,一个正整数,表示货物的总重量(斤)。

输出格式:
一行,按上述规则输出判断结果。
示例输入1:
180
示例输出1:
安全,可以出发。
示例输入2:
230
示例输出2:
超重,需要减少货物。
示例输入3:
280
示例输出3:
严重超重,需要增加骆驼。

示例输入:

示例输出:

第 13 题 编程操作题 0 分

题目描述:
河西走廊是中国古代丝绸之路的重要通道,沿线有四大重镇:敦煌、酒泉、张掖、武威。请你编写程序完成以下城市名称处理任务:
1. 用户输入一个城市名称(可能是中文或拼音,大小写混合)。
2. 程序对该名称进行以下处理并逐行输出:
- 去掉名称两端的空格
- 将名称全部转为大写字母(如果是拼音输入)或原样保留(中文无法转大小写)
- 判断名称中是否包含"敦煌"二字
- 输出该名称的字符数(汉字个数)

输入格式:
一行,一个字符串,表示城市名称。

输出格式:
第一行:去除空格后:[名称]
第二行:转为大写后:[名称]
第三行:包含"敦煌":[True/False]
第四行:字符数:X个
示例输入1:
敦煌
示例输出1:
去除空格后:敦煌
转为大写后:敦煌
包含"敦煌":True
字符数:2个
示例输入2:
DunHuang
示例输出2:
去除空格后:DunHuang
转为大写后:DUNHUANG
包含"敦煌":False
字符数:8个

示例输入:

示例输出:

第 14 题 编程操作题 0 分

题目描述:
丝绸之路上的商队每天都会记录当天的交易收入(单位:文)。请你编写程序,实现以下功能:
1. 用户首先输入一个整数 n,表示接下来要记录 n 天的收入。
2. 依次输入 n 个正整数(每行一个),表示每天的收入。
3. 程序将每天的收入存入一个列表中,然后执行以下操作并输出:
- 输出完整的收入列表
- 计算总收入(所有天数收入之和)
- 找出收入最高的一天是哪一天(输出天数编号,从第1天开始;如果有并列最高,输出最先出现的那天)

输入格式:
第一行:一个正整数 n,表示记录天数。
接下来 n 行:每行一个正整数,表示当天的收入(文)。

输出格式:
第一行:每日收入:[列表]
第二行:总收入:X文
第三行:收入最高:第Y天

示例输入:

5
300
500
200
500
400

示例输出:

每日收入:[300, 500, 200, 500, 400]
总收入:1900文
收入最高:第2天