题解 | #字符串合并处理# 进制转换函数

字符串合并处理

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) 文章被收录于专栏

少壮不努力,老大勤刷题

全部评论

相关推荐

昨天 12:15
门头沟学院 Java
点赞 评论 收藏
分享
06-23 11:28
门头沟学院 Java
牛客91966197...:也有可能是点拒绝的时候自动弹的话术
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务