本文共 886 字,大约阅读时间需要 2 分钟。
为了解决问题,我们需要编写一个程序,按照特定规则排序输入字符串中的字符。规则包括:英文字母按顺序排列,同一英文字母的大小写保留输入顺序,非英文字母保持原位。
s = input().strip()chars = list(s)letters = [(c, i) for i, c in enumerate(chars) if c.isalpha()]def compare(a, b): if a[0].lower() == b[0].lower(): return a[1] - b[1] return ord(a[0].lower()) - ord(b[0].lower())sorted_letters = sorted(letters, key=compare)result = []for i, c in enumerate(chars): if c.isalpha(): result.append(sorted_letters[i][0]) else: result.append(c)print(''.join(result)) input().strip()读取输入字符串并转换为列表。compare首先比较小写字母,如果相同则比较原索引,确保按输入顺序排列。sorted函数和自定义键进行排序。转载地址:http://mvjyz.baihongyu.com/