将十进制转换为十六进制-如何使其更短?

问题描述 投票:-1回答:1

我编写了将整数转换为十六进制的代码。这是学校的作业。我写了很多,后来我的一个朋友给我看了他的代码,代码要短得多,这就是为什么我想知道我在哪里使事情变得过于复杂,以及在哪里可以切除。附带说明,我已经学习了2个月了,所以请对我好一点:)!

嗯,我检查了我的代码,但是找不到任何可以删除或简化的东西。

       def Exponent2():                    # which exponent I need to 
                                                           devide with
       global Exponent
       Exponent = 0
       while True:
             a = dezimal // 16**Exponent
             Exponent = Exponent + 1
             if a == 0:
             Exponent = Exponent - 1
             break

        Exponent2()
        Ergebnis = ''
        Dezimal2 = dezimal
        while Dezimal2 != 0:
            dezimal = Dezimal2 // 16**Exponent
            Dezimal2 = Dezimal2 % 16**Exponent
            CheckReverse()
            Ergebnis = Ergebnis + str(dezimal)
            Exponent = Exponent - 1

        Länge = len(Ergebnis)
        Ergebnis = Ergebnis[1:Länge]
        print(Ergebnis)
python int hex
1个回答
0
投票

似乎您找到了最大的指数x,可以用数字除以16**x。相反,您可以从可以除以的最小指数开始。换句话说,如果只除以16,则得到一个数字,然后再除以16,得到下一个十六进制数字。

© www.soinside.com 2019 - 2024. All rights reserved.