使用字符串格式与循环内的循环对齐表格中的文本

时间:2014-09-29 13:18:38

标签: python python-3.x

我应该在循环中使用循环时在表格中对齐某些数字。它完成后应该是这样的:

  • 1 2 3 4 5 6 7 8 9
  • 1 2 3 4 5 6 7 8 9
  • 1 2 3 4 5 6 7 8 9
  • 1 2 3 4 5 6 7 8 9
  • 1 2 3 4 5 6 7 8 9

我所盯着的是:

for i in range(1,10,1):
    for c in range(1,6,1):
        print(i, end='\n')

虽然在运行之后它只是相互打印它们。并取代" \ n"用" \ t"也没帮助。我试过.format但没有成功。对不起,如果这看起来非常简单,应该在某个地方说明,但我找不到有同样问题的人或某个章节提到这个具体问题。

我确实设法使用while这样做:

i = 1
while i < 6:
    print("1 2 3 4 5 6 7 8 9\n" , end='' '')
    i += 1

这当然不是最好的方法,我只是不知道如何以更聪明的方式做到这一点。

2 个答案:

答案 0 :(得分:1)

首先,你应该有倒置的循环范围:

for i in range(1, 6, 1):
    for c in range(1, 10, 1):

其次,在内循环中你必须打印c,而不是i。

完整代码如下:

for i in range(1, 6, 1):
    for c in range(1, 10, 1):
        print(c, end=" ")
    print('')

如果您只想编码一个for循环,您可以:

for i in range(1, 6, 1):
    print( " ".join(map(str, range(1, 10, 1))) )

答案 1 :(得分:0)

首先,你的循环顺序错误。在编写代码时,您将获得包含6个数字的10行。     接下来,您无法在内循环中打印,因为您将只获得60行。因此,您可以在第一个循环内的某些temp值中存储行,并在外循环的每个循环中打印它。此外,对于更漂亮的代码,您可以使用列表推导。

for i in range(1, 10): print ' '.join([str(number) for number in range(1, 6)])

另外,为了完善这一点,您可以用一串代码编写它,但这更容易理解。