华为机试5-进制转换

题目描述

写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。(多组同时输入 )

输入描述:

输入一个十六进制的数值字符串。

输出描述:

输出该数值的十进制字符串。

示例1

输入 

0xA

输出

10

 

参考1:

直接调用

while(True):
    try:
        num = input()
        res = int(num,16)
        print(res)   
    except:
        break

执行结果: 答案正确:恭喜!您提交的程序通过了所有的测试用例 用例通过率: 100.00% 运行时间:17ms 占用内存: 3352KB

 

 

参考2:

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

执行结果: 答案正确:恭喜!您提交的程序通过了所有的测试用例 用例通过率: 100.00% 运行时间: 19ms 占用内存: 3384KB

 

题目描述

写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。(多组同时输入 )

输入描述:

输入一个十六进制的数值字符串。

输出描述:

输出该数值的十进制字符串。

示例1

输入

复制
0xA

输出

复制
10
posted @ 2020-08-19 22:28  Andy_George  阅读(300)  评论(0编辑  收藏  举报