蓝桥题库每日一练 · 2026.08.19
8月19日 用户一次性输入 N 个数字(2≤N≤15),数字…
用户一次性输入 N 个数字(2≤N≤15),数字之间用逗号分隔。然后分 5 行依次输出:(1) 输入的数字(数字之间用英文逗号隔开);(2) 数字的个数;(3) 最小的数字;(4) 把这些数字从大到小排列输出(数字之间也用英文逗号隔开);(5) 若某个数字在 1~26 之间,就换成对应的大写字母(1 对应 A,26 对应 Z),拼接显示,范围之外的数字用 * 代替。每项各占一行,格式见样例。
样例
输入 9,12,15,22,5,21,214输出
9,12,15,22,5,21,214
7
5
214,22,21,15,12,9,5
ILOVEU*评分标准
- 每完成一项输出得 30 分,五项共 150 分
参考解法
这题像一条流水线,一次把数字加工成 5 样东西。先把输入变成「一排数」:input() 读进来是一整串字,用 split(',') 按逗号切开,再逐个转成整数,装进一个列表——列表就是 Python 里「一排带号的格子」,跟 8 月 9 日 Scratch 的列表是一回事。
然后一样样办:
· 个数:len(列表) 就是格子数;
· 最小:min(列表) 直接挑出最小的;
· 从大到小:sorted(列表, reverse=True) 排一遍;
· 用逗号连起来:列表直接 print 会带着方括号和空格,像 [9, 12, 15];题目要的是 9,12,15。这就用 ','.join(...)——先用 str(x) 把每个数变回文字,join 再用逗号把它们串成一整串;
· 换字母:这里要补一个小知识——电脑给每个字母都编了号,A 是第 1 个、B 第 2 个……那「第 x 个大写字母」怎么求?用 chr(ord('A') + x - 1):ord('A') 拿到 A 的编号,加上 x−1 就跳到第 x 个,chr 再变回字母。只有 1~26 才有对应字母,其它一律写 *。
s = input()
nums = [int(x) for x in s.split(',')]
print(','.join(str(x) for x in nums)) # (1) 输入的数字……此答案或解析由 AI 生成,请谨慎使用。
难度依赛考组别及等考级别粗略评估,仅供参考。