题解 | #字符串合并处理#
字符串合并处理
http://www.nowcoder.com/practice/d3d8e23870584782b3dd48f26cb39c8f
step1 = list(''.join(input().split(' ')))#前后合并
step1[1:len(step1):2] = sorted(step1[1:len(step1):2])
step1[0:len(step1):2] = sorted(step1[0:len(step1):2])
x = [] #用来存储处理后的字符串
for i in step1:
if i in '0123456789':
er = ''.join(list(reversed(bin(int(i))[2:].rjust(4,'0'))))#注意i是字符串 eg'1',所以是int(i),使用了reversed所以用list又生成了可迭代对象
#可以直接用[::-1]。就能省去 列表转字符串的操作
shi = int(er,2) #转换为十进制整数,参数er要求是字符串(转化为十六进制的准备工作)
i = hex(shi)[2:].upper()#转化为十六进制
x.append(i)
elif i in 'ABCDEFabcdef':
er1 = ''.join(list(reversed(bin(int(i,16))[2:].rjust(4,'0'))))#先转化为十进制,再转化为二进制,翻转
shi1 = int(er1,2)#转化为十六进制的准备工作
i = hex(shi1)[2:].upper()
x.append(i)
else:
i = i
x.append(i)
x1 = ''.join(x)
print(x1)