题解 | #进制转换#

进制转换

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

dec_num = 0

while 1:
    try:
        hex_num = input().lower()
        if not hex_num: break
        if '0x' in hex_num:
            hex_num = hex_num[2:]
        MSB = len(hex_num)
        for i in range(MSB):
            hex_char = hex_num[i]
            if hex_char == 'f':
                dec_num += 15 * 16**(MSB - 1 - i)
            elif hex_char == 'e':
                dec_num += 14 * 16**(MSB - 1 - i)
            elif hex_char == 'd':
                dec_num += 13 * 16**(MSB - 1 - i)
            elif hex_char == 'c':
                dec_num += 12 * 16**(MSB - 1 - i)
            elif hex_char == 'b':
                dec_num += 11 * 16**(MSB - 1 - i)
            elif hex_char == 'a':
                dec_num += 10 * 16**(MSB - 1 - i)
            else:
                dec_num += int(hex_char) * 16**(MSB - 1 - i)
        print(dec_num)
    except:
        break
  1. 穷举法进制转换
  2. try-except语句用来判定是否接收到了新的输入

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-16 14:00
机械打工仔:来挂自己了,经典巨婴从校园投入职场
点赞 评论 收藏
分享
Lorn的意义:1.你这根本就不会写简历呀,了解太少了 2.你这些项目经历感觉真的没啥亮点啊,描述的不行,重写书写一下让人看到核心,就继续海投 注意七八月份ofer还是比较多的,越往后机会越少,抓住时机,抓紧检查疏漏,加油查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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