题解 | #字符串合并处理#

字符串合并处理

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**

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-26 16:06
已编辑
快手电商 后端 23k-35k
点赞 评论 收藏
分享
joe2333:怀念以前大家拿华为当保底的日子
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务