题解 | 进制转换

进制转换

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

import sys

p = sys.stdin.readline().strip()

if p.startswith("0x"):
    p = p[2:]

result = 0

for i, y in enumerate(reversed(p)):
    if '0' <= y <= '9':
        num =ord(y) - ord('0')
    elif 'A' <= y <= 'F':
        num =10 + ord(y) - ord('A')
    else:
        continue

    result += num * (16 ** i)

print(result)

#startswith对照前面的值,reversed()反转,enumerate()为元素添加索引,ord()字符对于的码

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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