题解 | #字符串合并处理# 进制转换函数
字符串合并处理
https://www.nowcoder.com/practice/d3d8e23870584782b3dd48f26cb39c8f
思路:就是进制转换这块几个函数不熟,记住就好了,不行就百度
import sys
for line in sys.stdin:
# 第一步,合并字符串转数组
line = list(line[:-1].replace(" ", ""))
# 第二部,奇偶位排序
line[::2] = sorted(line[::2])
line[1::2] = sorted(line[1::2])
# 第三步,十进制转十六进制转二进制,然后倒序
res=""
for i in line:
# 转换操作限制在a~fA~F0~9范围内
if "a" <= i <= "f" or "A" <= i <= "F" or "0" <= i <= "9":
"""
int(i,16)十进制转十六进制
bin(int(i,16))[2:] 十六进制转二进制,去掉开头进制标记符倒叙
bin(int(i, 16))[2:].rjust(4, "0")[::-1]
去掉进制符后如果不够4位填充0文本向右对齐(字符串左侧填充)
hex(int(i,2)) 最后二进制再转十六进制
"""
res+=hex(int(bin(int(i, 16))[2:].
rjust(4, "0")[::-1],2))[2:].upper()
else: res+=i
print(res)
华为机试(python3) 文章被收录于专栏
少壮不努力,老大勤刷题
