题解 | #进制转换#

进制转换

https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6

常规解法1:

hexadecimal = input()

maped = {
    "A": 10,
    "a": 10,
    "B": 11,
    "b": 11,
    "C": 12,
    "c": 12,
    "D": 13,
    "d": 13,
    "E": 14,
    "e": 14,
    "F": 15,
    "f": 15,
}


def cal_hex_to_int(hex_str: str):
    handle = hex_str.split("0x")[1]
    res = 0

    handle_len = len(handle)
    for i, v in enumerate(handle):
        map_v = maped.get(v, None)
        if map_v:
            res += map_v * pow(16, handle_len - i - 1)
        else:
            res += int(v) * pow(16, handle_len - i - 1)

    return res


print(cal_hex_to_int(hexadecimal))

解法2: 内置函数int转指定进制

hexadecimal = input()

print(int(hexadecimal), 16)

全部评论

相关推荐

兄弟们,实习都是在接各种api,该怎么包装简历
仁者伍敌:感觉我自己做小项目也是各种api啊,我要怎么包装简历
点赞 评论 收藏
分享
05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-08 14:08
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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