您可以使用简单的 for-loop,因为对于此应用程序,它们比 while 循环更 Pythonic。
所以只需 loop 通过 1 和 6 和 print 之间的数字,number multiplied 通过 2 用空格而不是 new-line 字符。最后,您可以在末尾再调用一个print,以便在它们都打印完后移至下一行。
for i in range(1, 7):
print(i * 2, end=' ')
print()
outputs:
2 4 6 8 10 12
如果您想在一行中完成整个操作,您可以使用generator 和string.join()。您可能不完全理解这一点,但以下会产生相同的结果:
print(" ".join(str(i*2) for i in range(1, 7)))
给出:
2 4 6 8 10 12
请注意,最后一件事是此方法不会生成均匀间隔的表格。为了说明我所说的“均匀间隔”,这里有一些例子:
间隔不均匀:
1234 1 123 12 12312 123
均匀分布:
1234 1 123 12 12312 123
要使输出print 像上面一样,我们可以使用.ljust:
print("".join(str(i*2).ljust(3) for i in range(1, 7)))
这提供了一个更好的表:
2 4 6 8 10 12
最后,如果你想把它变成更通用的function,你可以这样做:
def tbl(num, amnt):
print("".join(str(i*num).rjust(len(str(num*amnt))+1) for i in range(1,amnt+1)))
还有一些function的例子:
>>> tbl(3, 10)
3 6 9 12 15 18 21 24 27 30
>>> tbl(9, 5)
9 18 27 36 45
>>> tbl(10, 10)
10 20 30 40 50 60 70 80 90 100