Python程序:打印前n个数的十进制、八进制、十六进制和二进制

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

为了解决这个问题,我们将按照以下步骤进行 –

  • l := n的二进制等价值的长度 – 2
  • 对于i在范围1到n中,做以下步骤:
    • f:=空字符串
    • 对于“doXb”中的每个字符c,做以下步骤:
      • 如果f不为空,则执行以下操作:
      • f:= f连接一个空格
      • f:= f + 将l作为字符串右对齐格式化字符串再连接c
    • 将i四次传递给格式化字符串f并打印该行

例子

让我们看以下实现,以更好地理解

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程