Python将十进制转换为十六进制

发布于 2021-01-29 18:16:40

我这里有一个将十进制转换为十六进制的函数,但它以相反的顺序打印。我该如何解决?

def ChangeHex(n):
    if (n < 0):
        print(0)
    elif (n<=1):
        print(n)
    else:
        x =(n%16)
        if (x < 10):
            print(x), 
        if (x == 10):
            print("A"),
        if (x == 11):
            print("B"),
        if (x == 12):
            print("C"),
        if (x == 13):
            print("D"),
        if (x == 14):
            print("E"),
        if (x == 15):
            print ("F"),
        ChangeHex( n / 16 )
关注者
0
被浏览
155
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    如果要自己编写此代码而不是使用内置函数hex(),则可以在打印当前数字之前简单地进行递归调用:

    def ChangeHex(n):
        if (n < 0):
            print(0)
        elif (n<=1):
            print n,
        else:
            ChangeHex( n / 16 )
            x =(n%16)
            if (x < 10):
                print(x), 
            if (x == 10):
                print("A"),
            if (x == 11):
                print("B"),
            if (x == 12):
                print("C"),
            if (x == 13):
                print("D"),
            if (x == 14):
                print("E"),
            if (x == 15):
                print ("F"),
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看