Python程序打印前n个数字的十进制八进制十六进制和二进制
假设我们有一个值n。我们必须在四个不同的列中打印前n个数字(1到n)的十进制、八进制、十六进制和二进制等效项。众所周知,我们可以用前缀字符d、o、X和b分别表示十进制、八进制、十六进制和十进制的数字。
因此,如果输入类似于n=10,那么输出将是
1 1 1 1 2 2 2 10 3 3 3 11 4 4 4 100 5 5 5 101 6 6 6 110 7 7 7 111 8 10 8 1000 9 11 9 1001 10 12 A 1010
示例
让我们看下面的实现来更好地理解
def solve(n):
l = len(bin(n)) - 2
for i in range(1, n + 1):
f = ""
for c in "doXb":
if f:
f += " "
f += "{:>" + str(l) + c + "}"
print(f.format(i, i, i, i))
n = 10
solve(n)输入
10输出结果
1 1 1 1 2 2 2 10 3 3 3 11 4 4 4 100 5 5 5 101 6 6 6 110 7 7 7 111 8 10 8 1000 9 11 9 1001 10 12 A 1010