蓝桥题库每日一练 · 2026.08.19

8月19日 用户一次性输入 N 个数字(2≤N≤15),数字…

Python编程题参考难度 ★★★★☆STEMA 省赛模拟 · 已用
用户一次性输入 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 生成,请谨慎使用。
难度依赛考组别及等考级别粗略评估,仅供参考。