题解 | #进制转换#

进制转换

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语句用来判定是否接收到了新的输入

全部评论

相关推荐

不要停下啊:大二打开牛客,你有机会开卷了,卷起来,去找课程学习,在牛客上看看大家面试笔试都需要会什么,岗位有什么需求就去学什么,努力的人就一定会有收获,这句话从来都经得起考验,像我现在大三了啥也不会,被迫强行考研,炼狱难度开局,啥也不会,找工作没希望了,考研有丝丝机会
点赞 评论 收藏
分享
点赞 评论 收藏
分享
但听说转正率很低,我现在有在实习了,好纠结要不要去
熬夜脱发码农:转正率低归低,但是实习的经历你可以拿着,又不是说秋招不准备了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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