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