题解 | #进制转换#

进制转换

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

from sre_compile import isstring

# 获取输入
s = input()
# 获得新串
s2 = ""
if str(s[0]) == "0" and str(s[1]) == "x":
    for i in range(2, len(s)):
        s2 += s[i]

l = len(s2)
d16 = {"A": 10, "B": 11, "C": 12, "D": 13, "E": 14, "F": 15}
ans = 0

#计算结果
for i in range(0, l):
    if s2[i].isdigit():  # 数字
        ans+=int(s2[i])*(16**(l-i-1))
    else:  # ABCDEF
        ans+=int(d16[s2[i]])*(16**(l-i-1))
print(ans)

全部评论

相关推荐

点赞 评论 收藏
分享
我就是0offer糕手:北大不乱杀
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务