题解 | #进制转换#

进制转换

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

怎么说呢,这道题挺无语的,看看就行。

import sys
try:
    while True:
        line = sys.stdin.readline().strip()
        if line == '':
            break
        s = 0
        alphabet_base = ord('A')
        num_base = ord('0')
        for val in line.lstrip('0x'):
            if ord(val) >= alphabet_base:
                s = s * 16 + ord(val) - ord('A') + 10
            elif ord(val) >= num_base:
                s = s * 16 + ord(val) - ord('0')
            else:
                print('error')
        print(s)
except:
    pass



'''
while 1:
    try:
        s=input()
        num=s[2:]
        dic={'A':10,'B':11,'C':12,'D':13,'E':14,'F':15}
        res=0
        for i in range(len(num)):
            if num[i] in dic:
                res+=dic[num[i]]*(16**(len(num)-1-i))
            else:
                res+=int(num[i])*(16**(len(num)-1-i))
        print(res)
    except:
        break

while True:
    try:
        print( int(input(), 16) )
    except:
        break
'''
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-01 17:13
想去,但是听说加班强度实在难崩,所以拒绝了,现在有点心梗对面hr感觉也是实习生,打电话的时候怪紧张的,但是感觉人很好嘞
水中水之下水道的鼠鼠:哥们这不先去体验一下,不行再跑呗,大不了混个实习经历(有更好的转正offer就当我没说)
点赞 评论 收藏
分享
06-04 09:27
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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