题解 | #进制转换#

进制转换

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

while True:
    try:
        s = input()[2:]
        dicts = {'A':10,
        'B':11,
        'C':12,
        'D':13,
        'E':14,
        'F':15,
        '0':0,
        '1':1,
        '2':2,
        '3':3,
        '4':4,
        '5':5,
        '6':6,
        '7':7,
        '8':8,
        '9':9
        }
        lens = len(s)
        n = 1
        sum = 0
        for i in s:
            sum += dicts[i]*16**(lens -n)
            n += 1
        print(sum)

    except:
        break
#利用字典的思路,输入的是字符串,每一个字符代表一个数字,然后根据16进制,逢16进1.
16**(lens-n)代表每一个位置上的字符代表的10进制数,加在一起就是对应的10进制数

全部评论

相关推荐

10-29 15:38
门头沟学院 Java
榕城小榕树:难道你简历里写了配送路径优化算法?
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务