2014-05-18 96 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