题解 | #字符串合并处理# 进制转换函数
字符串合并处理
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) 文章被收录于专栏
少壮不努力,老大勤刷题