IEP中Python的乘法表?

时间:2013-12-04 18:53:13

标签: python python-3.x

我正在使用带有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()

2 个答案:

答案 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