我正在使用带有IEP的python 3.3,我正在尝试制作一个很有序的乘法表。我在网上看到的每个地方都说它会很好但最终只有1行而且我想要的地方很长
1 2 3 4
2 4 6 8
3 6 9 12
我发现的代码通常都是这样的...那么它有什么问题吗?
def main():
i = 1
print("-" * 50)
while i < 11:
n = 1
while n <= 10:
print("%4d" % (i * n),)
n += 1
print("")
i += 1
print("-" * 50)
main()
答案 0 :(得分:1)
因为每个print
将第7行更改为
print("%4d" % (i * n), end=" ")
答案 1 :(得分:0)
问题就在这里:
print("%4d" % (i * n),)
每个print
调用都会隐式地在输出结尾处添加换行符,但您可以通过向end
提供print()
关键字参数来更改它。
您可以这样做:
In [1]: def print_table(size):
...: for i in range(1, size+1):
...: print(''.join('{:>4d}'.format(i*j) for j in range(1, size+1)))
...:
In [2]: print_table(5)
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25