while
循环在for循环中i>10时不会停止:
i = 0
x = 100
while i<=10:
for a in xrange(1, x+1):
print "ok"
i+=1
这段代码会打印出"ok"
100次。如何在for
循环中当i
等于10时,跳出while
循环?
while
循环在for循环中i>10时不会停止:
i = 0
x = 100
while i<=10:
for a in xrange(1, x+1):
print "ok"
i+=1
这段代码会打印出"ok"
100次。如何在for
循环中当i
等于10时,跳出while
循环?
在内部循环“返回”之前,外部循环中的条件将永远不会被重新检查。如果您需要每次更改i
后都进行此检查,请改用以下方法:
while i<=10:
for a in xrange(1, x+1):
print "ok"
i+=1
if i > 10:
break
break
语句只会退出内部循环,但由于外部循环的条件将求值为 False
,它也将退出。
for
中断了,while
就会中断? - alwbtcwhile
循环不会停止:a)在其主体内调用break
(严格在其主体内,在内部循环中不算);b)主体执行完毕,条件计算结果为 False
;c)在其主体内(同样是严格在其中),调用continue
并且条件计算结果为 False
。 - mgibsonbri = 0
x = 100
def do_my_loops():
while i<=10:
for a in xrange(1, x+1):
print "ok"
i+=1
if time_to_break:
return
do_my_loops()
这里的 time_to_break
是你正在检查的条件。
一般来说:
def loop_container():
outer_loop:
inner_loop:
if done:
return
loop_container()
i
已经是100了。从我的角度来看,编写代码并获得所需的输出的正确方法是在内层循环中放置一个保护条件,并在 i
达到10时中断它。for a in xrange(1, x+1):
if i < 10:
print "ok"
i+=1
else:
break
如果您在内部循环中想要退出外部循环的原因是其他的,也许您应该告诉我们细节以更好地理解它。
booked = False
for i in range(100, 200):
if booked:
break
while True:
for x in range(1, 3):
if booked:
break
result = 0
if result == 1:
booked = True
break
continue
这个怎么样?
x = True
while x:
for i in range(20):
if i>5:
x = False
break
else:
print(i)