String 通过字符串格式打印十进制、二进制、十六进制、八进制数字

String 通过字符串格式打印十进制、二进制、十六进制、八进制数字,string,printing,binary,hex,octal,String,Printing,Binary,Hex,Octal,我正在尝试编写一个代码,它将取整数N并打印从1到N的十进制、八进制、十六进制和二进制数字。我的代码如下: enter code here n=int(input()) a=len(str(bin(n))[2:]) b=int(a) for i in range(1,n+1): print('{:{w}} {:{w}} {:{w}} {:{w

我正在尝试编写一个代码,它将取整数N并打印从1到N的十进制、八进制、十六进制和二进制数字。我的代码如下:

enter code here
               n=int(input())
               a=len(str(bin(n))[2:])
               b=int(a)
               for i in range(1,n+1):
                   print('{:{w}} {:{w}} {:{w}} {:{w}}'.format(i,oct(i)[2:],hex(i)[2:],bin(i)[2:],w=b))   


                    but my output should look like this:: 
                            5
                            1   1   1   1
                            2   2   2  10
                            3   3   3  11
                            4   4   4 100
                            5   5   5 101
但是我不明白。。 因为每个值都应该填充空格,以匹配二进制值N的宽度。。如何设置字符串格式