2014-03-03 102 views
0

我不知道問題出在哪裏,但內循環只運行一次,爲什麼?內循環只運行一次

代碼:蟒2.7

for i in range(1,11,5): 
    print i 
    print '#' 
    for j in range(i,6): 
     print j 
    print '---------------' 

輸出:

1 
# 
1 
2 
3 
4 
5 
--------------- 
6 
# 
--------------- 

要求輸出::

1 
# 
1 
2 
3 
4 
5 
--------------- 
6 
# 
6 
7 
8 
9 
10 
--------------- 
+0

使用該縮進,它不會是內部循環:( – thefourtheye

+0

@thefourtheye它可能不是縮進的問題,只是預期的輸出是錯的 – zhangxaochen

+0

@thefourtheye不,我的意思是即使正確的縮進,代碼片段仍然沒有得到OP的預期輸出,這就是爲什麼我認爲縮進錯誤只是在SO上張貼的錯字 – zhangxaochen

回答

1

這將產生您所需的輸出:

for i in range(1,11,5): 
    print i 
    print '#' 
    for j in range (i, i+5): 
     print j 
    print '-------------------' 

除非您爲j依賴i兩界,內循環將停止時i大於或等於固定上限內的要運行循環。

0
for i in range(1,11,5): 
    print i 
    print '#' 
    for j in range(1,6): # based on your 'required output', the inner loop should run from 1 to 6. 
     print j 
    print '---------------' 
2
>>> range(1,11,5) 
[1, 6] 

range(1,11,5)只循環1和6.這可能是你不想要的......當你運行第二個循環時,i是6,所以for j in range(i,6)for j in range(6,6),所以它只運行一次。

+0

他'需要產出「表明這確實是他想要的。 –

0

你的第二個循環是for j in range(i,6):而不是for j in range(1,6):