HJ26 字符串排序

HJ26 字符串排序
str.replace()是返回一个新的字符串


import sys
l = [d.strip('\n') for d in sys.stdin.readlines()]
for line in l:
    #new = ['**' for i in range(len(line))]
    temp = []
    line = list(line)
#     for j in range(len(line)):
#         if not line[j].isalpha() :
#             new[j] = line[j]
#         elif line[j].isalpha():
#             temp.append(line[j])

#sorted(line,key=str.upper())用sorted方法,key参数用upper,全部转大写字母比较,即可按顺序和大小排列
#下面用每个字符的ascii码减去a和A的ascii的差比较大小,按顺序加入temp列表
    for i in range(26):
        for j in line:
            if int(ord(j)-ord('a')) == i or int(ord(j) - ord('A')) == i: #减a等0即是a或A,减a等1即是b或B,以此类推
                temp.append(j)
    for v in range(len(line)):
        if line[v].isalpha():
            if temp:
                line[v] = temp.pop(0)
    print(''.join(line))
    

你可能感兴趣的:(HJ26 字符串排序)