2014-05-18 65 views
-2
嵌套循环的程序

我想打印一个嵌套循环,看起来像这样:编写打印在Python

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

+0

的可能重复[?如何使数字线路中断的名单在某一点(http://stackoverflow.com/questions/23556242/how-do-i-make-a-list-of-numbers-line-break-at-a-point) –

回答

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 
+0

非常感谢你! – user3307366

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