#学习到的知识: #print(*([1, 2, 3]), sep='') 的意思是将列表 [1, 2, 3] 中的元素作为独立的参数传递给 print() 函数,同时设置 sep='',表示不使用分隔符。 #别人的方法 while True: try: letter = input() letter_list = sorted([i for i in letter if i.isalpha()],key=lambda x:x.lower()) print(*(letter_list.pop(0) if v.isalpha() else v for i,v in enumerate(letter)),sep='') except: break