是否有可能在Python中打破的循環,沒有break命令?
我在問這個問題,以便將其與C++ for循環進行比較,其中實際上每次都檢查條件。在Python中打破循環
即有可能在C打破一個for循環++象下面這樣:
for(int i=0; i<100; i++)
i = 1000; // equal to break;
是有可能做同樣的在Python?
for i in range(0,100):
i = 10000 // not working
是否有可能在Python中打破的循環,沒有break命令?
我在問這個問題,以便將其與C++ for循環進行比較,其中實際上每次都檢查條件。在Python中打破循環
即有可能在C打破一個for循環++象下面這樣:
for(int i=0; i<100; i++)
i = 1000; // equal to break;
是有可能做同樣的在Python?
for i in range(0,100):
i = 10000 // not working
Python的「爲」是真正的「爲每個」,並用於與iterables(不循環的條件)。
相反,你可以只使用一個while語句,檢查在每次通過循環條件:
i = 0
while i < 1000:
i = 1000
另一種方法是使用與休息語句配對的if語句來終止循環:
for i in range(1000):
if i == 10:
break
使用while
循環用於此目的:
i = 0
while i < 100:
i = 1000
這將不起作用(正如你所注意到的)。原因在於,原則上,您正在迭代升序數列表的元素(無論這是否真的取決於您是否使用Python 2或3)。您可以隨時使用'break'關鍵字跳出一個循環,儘管使用它可能會導致難以遵循您的代碼。
不,for
在Python中不起作用。 for
遍歷列表(在本例中)或其他容器或迭代。 for i in range(0, 100)
並不意味着「增加i
,直到i
大於或等於100」,這意味着「將i
設置爲從這100個項目的列表中連續的項目直到列表被耗盡。」
如果i
爲50,那麼無論您將i
設置爲什麼,列表中的下一項仍然是51。無論如何,
break
更好。
你可能不得不接受break語句:
http://docs.python.org/tutorial/controlflow.html
for i in range(0,100):
print i
if i == 10:
break
Python的'for'更像是C++ 11的基於範圍的'for',在像原來的C ALL_ _not ++ 'for'。它遍歷一組項目。 – 2012-01-27 18:51:55
可能的重複:http://stackoverflow.com/questions/8107285/why-doesnt-this-loop-break – 0605002 2012-01-27 18:54:04
你用什麼教程學習Python? – 2012-01-27 18:59:59