如何在python中的内部for循环中打破while循环?

alw*_*btc 5 python for-loop break while-loop

while 当for> 10 in for循环时不会中断:

i = 0
x = 100
while i<=10:
    for a in xrange(1, x+1):
        print "ok"
        i+=1
Run Code Online (Sandbox Code Playgroud)

它打印"ok"100次.如何在while循环中i达到10 时打破for循环?

mgi*_*nbr 8

在内循环"返回"之前,外循环中的条件将永远不会被重新检查.如果您需要在每次i更改后进行此检查,请执行以下操作:

while i<=10:
    for a in xrange(1, x+1):
        print "ok"
        i+=1
        if i > 10:
            break
Run Code Online (Sandbox Code Playgroud)

break只会退出内部循环,但由于外部循环条件将评估为False,它也将退出.

  • @alwbtc`while`不会破坏,除非其中任何一个发生:a)你在它的身体里(严格地在它的身体里,而不是在它里面的循环中)叫`break`; b)主体完成执行,条件评估为"假"; c)你在它的身体(严格地说,也是)中调用`continue`,并且条件评估为'False`. (3认同)

ssh*_*nin 5

i = 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()
Run Code Online (Sandbox Code Playgroud)

time_to_break您要检查的条件在哪里。

或一般来说:

def loop_container():
  outer_loop:
    inner_loop:
      if done:
        return

loop_container()
Run Code Online (Sandbox Code Playgroud)