是否有可能在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