首页 > 解决方案 > 整数网格

问题描述

我需要用代码生成的数字制作一个网格,但我不明白如何在列中对齐它们。是否有 print 参数或其他可以帮助我的参数?

#main()
a=0
b=0
for i in range(1, 13):
    a=a+1
    print("  ")
    b=b+1
    for f in range(1,13):
        print(f*b, end="  ")

我目前的输出:

在此处输入图像描述

标签: pythonpython-3.7

解决方案


我会推荐使用 python 的 f-strings:

for i in range(1, 13):
    print(''.join(f"{i*j: 4}" for j in range(1,13)))

这是输出:


   1   2   3   4   5   6   7   8   9  10  11  12
   2   4   6   8  10  12  14  16  18  20  22  24
   3   6   9  12  15  18  21  24  27  30  33  36
   4   8  12  16  20  24  28  32  36  40  44  48
   5  10  15  20  25  30  35  40  45  50  55  60
   6  12  18  24  30  36  42  48  54  60  66  72
   7  14  21  28  35  42  49  56  63  70  77  84
   8  16  24  32  40  48  56  64  72  80  88  96
   9  18  27  36  45  54  63  72  81  90  99 108
  10  20  30  40  50  60  70  80  90 100 110 120
  11  22  33  44  55  66  77  88  99 110 121 132
  12  24  36  48  60  72  84  96 108 120 132 144

最常见的形式是在花括号内使用几乎任何任意表达式。这可以包括字典值、函数调用等。上述用法指定冒号后的格式。前面的空格4表示填充字符应该是一个空格,4表示整个表达式应该占4个字符。有关更多信息,请查看文档


推荐阅读