2012-03-16 358 views
1

我一直在努力學習python最近。循環while語句

有一件事我見過的教程做的是使一個while語句與在每條語句結束後進入了一個變量創建循環

例如:

loop_end = 0 
while loop_end <= 5: 
    <do program> 
    loop_end = loop_end + 1 

這感覺奇怪和有點醜陋。 有沒有其他方法可以達到這個效果?

+0

'loop_end + = 1'如果你仍然需要while循環。 – lllluuukke 2012-03-16 22:32:19

+0

請提供這些教程的鏈接嗎?有些作者可能需要聯繫... – 2012-03-16 22:40:00

回答

3
for loop_end in xrange(6): 
    # do program 
1

您希望range功能。這裏是打印0-2的循環:

for x in range(0,3): 
    print '%d' % (x) 

檢查here

範圍是排他性的,所以右側的值永遠不會被滿足。

你也可以表示範圍是如何迭代的。例如,指定一個增量的2每次循環:

for x in range (0, 8, 2) 
    print x 

將讓你

0 
2 
4 
6 

爲輸出。

0
for loop_end in range(6): 
    <do program> 

說明:

Python就iterators概念。不同的對象可以決定如何迭代。如果你遍歷一個字符串,它將迭代每個字符。如果你遍歷一個列表(即數組),它將迭代列表中的每個項目。

內置的range函數生成一個列表。範圍(6)生成列表[0,1,2,3,4,5](所以相當於while loop_end <= 5)。

(在Python 3中,range()返回一個生成器而不是一個列表,但是你不需要知道那個;))。