题解 | #字符串合并处理#
字符串合并处理
https://www.nowcoder.com/practice/d3d8e23870584782b3dd48f26cb39c8f
while True:
try:
a,b = input().split()
s =list(a+b)
s[::2]=sorted(s[::2])
s[1::2]=sorted(s[1::2])
for i in range(len(s)):
if s[i] in "0123456789abcdefABCDEF":
s[i] = hex(int(bin(int(s[i],16))[2:].rjust(4,"0")[::-1],2))[2:].upper()
print("".join(s))
except:
break
tips:
1:python中字符串无法被直接修改
2:字符串切片要熟练
3:若没有第8行会报错,因为输入的字符中有非16进制字符出现,程序无法识别,所以会报错。
4:第9行涉及,进制转换,切片法倒叙, 尤其是。rjust(),二进制转换后不一定都是四位数,所以要右对齐然后补零,
第九行要写出来就一步步的从内到外的写,每一步输出的都是字符串,将它当作新的输入处理就可以,也可以分步,一步一 步 写
5:“”。join()是输出列表位字符串的常用操作。