题解 | #字符串合并处理#
字符串合并处理
https://www.nowcoder.com/practice/d3d8e23870584782b3dd48f26cb39c8f
s = list("".join(input().split())) # 将空格去掉 完成第一步 s[::2] = sorted(s[::2]) # 偶数下标。奇偶位置对应排序 完成第二步 s[1::2] = sorted(s[1::2]) # 奇数下标 for i in s: # 字符转换 第三步 try: b = bin(int(i, 16))[2:] # 十六进制转换为二进制 b = b.zfill(4)[::-1] # 字符串补零倒序 h = hex(int(b, 2))[2:].upper() # 二进制转换为十六进制,并大写 print(h, end="") except: # 无法转换为十六进制的字符在int(i, 16)这一步会出错,此时跳出try执行except的内容 print(i, end="")
int(i, 16)表示先把 i 看作十六进制符号,然后int()转换成十进制对应数字
bin():十进制转换为二进制,0b**
hex():十进制转换为十六进制,0x**