编写一个在Python中打印嵌套循环的程序

时间:2014-05-18 03:12:35

标签: python python-3.x nested-loops

我试图打印一个如下所示的嵌套循环:

1  2  3  4
5  6  7  8
9 10 11 12

这是我到目前为止所做的:

def main11():
    for n in range(1,13)
        print(n, end=' ')

但是,这会将数字打印在一行中:1 2 3 4 5 6 7 8 9 10 11 12

4 个答案:

答案 0 :(得分:1)

Modulus Operator (%)

for n in range(1,13):
  print(n, end=' ')
  if n%4 == 0:
    print 

答案 1 :(得分:1)

您可以使用字符串格式执行此操作:

for i in range(1,13):
    print '{:2}'.format(i),
    if i%4==0: print

[OUTPUT]
 1  2  3  4
 5  6  7  8
 9 10 11 12

答案 2 :(得分:0)

for offset in range(3):
    for i in range(1,5):
        n = offset*4 + i
        print(n, end=' ')
    print()

输出:

1 2 3 4 
5 6 7 8 
9 10 11 12 

或者,如果您希望它的格式与您在帖子中的格式相符:

for offset in range(3):
    for i in range(1,5):
        n = offset*4 + i
        print("% 2s"%n, end=' ')
    print()

输出:

 1  2  3  4 
 5  6  7  8 
 9 10 11 12 

答案 3 :(得分:0)

大多数情况下,当你编写for循环时,你应该检查这是否是正确的实现。 根据你的要求,我会写这样的东西:

NB_NB_INLINE = 4
MAX_NB = 12
start = 1
while start < MAX_NB:
    print( ("{: 3d}" * NB_NB_INLINE).format(*tuple( j+start for j in range(NB_NB_INLINE))) )
    start += NB_NB_INLINE