-1

我必须在不使用 hex() 函数的情况下将 Dec Number 转换为 Hex 数字。有人能帮我吗?我一点都不先进。我的老师告诉我,它可以分成 4 行。但我根本做不到。我会很感激你的帮助。到目前为止,这是我的 Python 代码。但遗憾的是它不起作用。

    x = 1000000000000000000000000000000
    a = input(int())
    for a in range(x):
     if a in range(0, 10):
    print(a)
    elif a in range(10, 16):
      if (a == 10):
        print("A"),
      if (a == 11):
        print("B"),
      if (a == 12):
        print("C"),
      if (a == 13):
        print("D"),
      if (a == 14):
        print("E"),
      if (a == 15):
        print("F"),
    else:
     def dividing16(a):
      while a > 16:
        a = a%16
        if (a == 10):
          print("A"),
        if (a == 11):
          print("B"),
        if (a == 12):
          print("C"),
        if (a == 13):
          print("D"),
        if (a == 14):
          print("E"),
        if (a == 15):
         print("F"),
4

1 回答 1

0

要转换为十六进制形式,您可以使用此示例(4 行):

number = 65533  # FFFD in hex

m, out = '0123456789ABCDEF', ''
while number:
    out = m[number % 16] + out
    number //= 16

print(out)

印刷:

FFFD

另一种方法(不使用hex()):

print('{:X}'.format(65533))
于 2020-10-17T09:34:16.813 回答