我正在编写一个程序,假设打印一个与其因子相对应的数字,逐列行,也称为乘法表。第一行和第一列以0开头,然后转到10。每一行上的每个数字乘以每列上的每个数。虽然我的程序成功地生成了每个数字,但它并没有排列起来。这样做的原因是,对于多个数字的数字,占用更多的空间(10不与9排列,因为空间,影响其他数字的沿袭)。我尝试过很多事情,其中包括为每一行和每列增加更多的空间。
以下是我的一些代码:
t = 1
row = ""
for i in range(11):
i = str(i)
row += i
row += " "
print(row)
row = ""
for i in range(1, 11):
row = ""
for i in range(1, 11):
i *= t
i = str(i)
row += i
row += " "
i = int(i)
i /= 10
print("%0.0f" % i, "", row)
t += 1发布于 2020-06-29 16:51:38
如果您使用最近的Python (我认为>3.7),您可以使用"f-string“来右对齐数字:
for i in range(1, 11):
for t in range(1, 11):
print(f"{i*t:>5}", end="")
print()这给
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100https://stackoverflow.com/questions/62642837
复制相似问题