注意:

pop()函数:移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。

语法:list.pop(obj=list[-1]) //默认为 index=-1,删除最后一个列表值

while True:
try:
a=input()
char=[] #构造一个列表用来存放字符串
res=[False]*len(a)#构造一个列表用来记住非字母的位置
for i,v in enumerate(a):#遍历字符串,i表示该字符的索引值,v表示该字符
if v.isalpha(): #如果是字母则放入char中
char.append(v)
else:
res[i]=v#非英文字母的其它字符保持原来的位置。
#然后对char进行排序
bp=sorted(char,key=str.upper)
#重构,在res中的false项中放入char
for i,v in enumerate(res):
if not v:#如果v是false
res[i]=bp[0]#该位置存放char列表中的第一个字符
bp.pop(0)#且将该字符从char列表中移除
print(''.join(res))
except:
break