题解 | #字符串合并处理#
字符串合并处理
https://www.nowcoder.com/practice/d3d8e23870584782b3dd48f26cb39c8f
def transfer(a): #第三步的转换函数 #若为16进制范围内,进行转换 if a.isdigit() or (ord('a')<=ord(a)<=ord('f')) or (ord('A')<=ord(a)<=ord('F')): a2 = bin(int(a,16)) if len(a2) < 6: #若2进制表示缺位补0 a2 = str(a2)[:2]+'0'*(6-len(a2))+str(a2)[2:] a3 = hex(int((str(a2[:2])+str(a2[2:])[::-1]),2)) #翻转后转为16进制 if str(a3)[2].islower(): #默认16进制表示的字母为小写,需转为大写输出 return str(a3)[2].upper() else: #若为数字,直接输出 return str(a3)[2] else: #若为16进制范围外字母,返回自身 return a while True: try: a = input().split(' ') b = list(a[0]+a[1]) b[0::2]=sorted(b[0::2]) #偶数下标排序 b[1::2]=sorted(b[1::2]) #奇数下标排序 for i in b: print(transfer(i), end='') except: break