python中如何跳出多层循环

像c语言中的goto,shell中的break 后面跟跳出层次的在方法在python中都没有,这可不是因为python设计的low,而是允许一次性跳出多个循环很容易造成程序流程的混乱,使理解和调试程序都产生困难,这也是为什么goto在c语言中不建议使用的原因。

#_*_ coding:utf-8 _*_

loop1 = 0 #设定loop1 and loop2这两个计数器

loop2 = 0

while True:

loop1 +=1

print "Loop1:", loop1

break_flag = False #在父循环中设定一个跳出标志,子循环只要想连父亲一块跳出时,就把这个标志改成True

while True:

loop2 +=1

if loop2 ==5:

break_flag = True #让我爹一块往外跳

break #我先跳出第一层

print ‘Loop2:‘,loop2

if break_flag: #儿子跳了没有?

print u"接到子循环跳出通知,我也得跳了!"  #我擦,儿子真跳了。

break

上面代码的基本逻辑就是,在第一层循环中设置一个是否跳出的标志变量默认为False,如果子循环在break时想连它的上一层一起break,就可以把这个跳出的标志变量改成True,当子循环跳出后,

父循环会继续往下走,但下在的语句是判断这个跳出变量是否已经被子循环改掉了,如果已经改掉了,那就直接跳出就好了,因此你就实现了同时跳出2层循环的功能啦。

时间: 2024-08-13 13:31:11

python中如何跳出多层循环的相关文章

js中break跳出多层循环

// 当执行多重循环的时候break的情况 outer: for(var i=0;i<10;i++){ inter: for(var j=0;j<10;j++){ if(i>5){ console.log(i); ----6 break outer; } } } // 这是break到最外面循环里面的 outer: for(var i=0;i<10;i++){ inter: for(var j=0;j<10;j++){ if(i>5){ console.log(i);

python从最内层跳出多层循环

跳出多层循环:三层循环,最里层直接跳出3层 方法一: 在Python中,函数运行到return这一句就会停止,因此可以利用这一特性,将功能写成函数,终止多重循环 ef work(): #定义函数 for i in range(5): print("i=", i) for j in range(5): print("--j=", j) for k in range(5): if k<2: print("------>k=", k) el

python练习-跳出多层循环和购物车

跳出多层循环:三层循环,最里层直接跳出3层 在Python中,函数运行到return这一句就会停止,因此可以利用这一特性,将功能写成函数,终止多重循环 1 2 3 4 5 6 7 8 9 10 11 12 13 14 def work():     for i in range(5):         print("i=", i)         for j in range(5):             print("--j=", j)             

python(3)- 循环语句:从最内层跳出多层循环

跳出多层循环:三层循环,最里层直接跳出3层 方法一: 在Python中,函数运行到return这一句就会停止,因此可以利用这一特性,将功能写成函数,终止多重循环 1 2 3 4 5 6 7 8 9 10 11 12 13 14 def work():                                  #定义函数     for i in range(5):         print("i=", i)         for j in range(5):        

跳出多层循环:三层循环,最里层直接跳出3层

跳出多层循环:三层循环,最里层直接跳出3层 方法一: 在Python中,函数运行到return这一句就会停止,因此可以利用这一特性,将功能写成函数,终止多重循环 1 2 3 4 5 6 7 8 9 10 11 12 13 14 def work():                                  #定义函数     for i in range(5):         print("i=", i)         for j in range(5):        

js for等循环 跳出多层循环

js for 循环 跳出多层循环 var a = [1,2,3,4,5,6,7,8]; // 8个数var b = [11,12,13,14,15,3,16,17]; //8个数 testFor();console.log('555') function testFor() { for(var k=0;k<a.length;k++){ console.log('444'); for(var i=0;i<a.length;i++){ for(var j=0;j<b.length;j++){

跳出多层循环for、while

for跳出多层循环 break_flag = False for i in range(10): print("爷爷层",i) for j in range(10): print("=爸爸层",j) if j == 3: break_flag = True break for k in range(10): print("===>孙子层",k ) if k == 2: break_flag = True break if break_fla

Python中的判断、循环 if...else,while

if...else语句: a=3; b=3; if a == b :print(a,b)elif a <= b :print(str(a) + " is less than " + str(b))else :print(str(a) + " is greater than " + str(b)) ################################### n = 3if (n >= 0 and n <= 8) or (n >= 1

Java中如何跳出多重循环?

在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break语句,即可跳出外层循环.例如, ok: for(int i=0;i<10;i++) { for(int j=0;j<10;j++) { System.out.println(“i=” + i + “,j=” + j); if(j == 5) break ok; } } 另外,不建议使用标号这种方式,而是让外层的循环条件表达式的结果可以受到里层循环体代码的控制,例如,要在二维数组中