1.如何在Python中使用break跳出多层循环
像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层循环的功能啦。
2.python中continue和break循环的区别
break就是直接跳出该层循环
continue就是直接进入该层循环的下一次迭代
return就是直接退出程序或函数返回了
return>break>continue
keyboard通常应用在Debug模式下面(所以你的程序不是为了debug,请使用input函数),也就是说,我可以进行新的参数赋值等,这是input做不到的。
举个例子来说,你在程序运行过程中,并没有a这个变量,你想在程序运行到某个时候,手工加一个a变量进去:
>>keyboard
K>>a=1;
K>>
K>>return
>>
这样创建了一个a变量,你的源程序可以使用a变量,是不是很方便调试你的程序?
直接copy别人的答案,希望能帮到你
转载请注明出处代码入门网 » pythonbreak