Python,easygui中重复出现含有continue语句的代码,如何通过定义函数来简化代码?
昨天写了一段代码,里面有while循环,而且重复出现很多如下进行判断功能的代码,里面含有continue语句,怎么通过定义函数来简化代码呢?askcontinue = easygui.ccbox('是否要继续选择其他文件,或者退出程序?' , choices = ('【继续选择】', '【退出程序】') )
if askcontinue == True:
path = root
continue
else:
sys.exit() 没有办法哦……
python没有宏定义 没办法弄成函数的话,弄成一个模块,可行吗? 真的没有办法吗?
关于这个问题终于有了答案,今天我把这个问题再次提在微信群里,受群里高手指点有方法如下两个:
1. 定义函数为如下
def askcontinue():
askcontinue = g.ccbox('是否要继续选择其他文件,或者退出程序?' , choices = ('【继续选择】', '【退出程序】') )
if askcontinue == True:
path = root
return 'continue'
else:
sys.exit()
然后在代码要调用函数的地方写成:
if askcontinue() == 'continue':
continue
这个方法巧妙的避开的continue语句直接出现在函数定义里面,而是通过个桥梁过渡到主代码中再来执行continue语句,而如果没有return ’continue',自然就会直接到函数定义的else语句里面,不会出现任何错误。
而更加巧妙的是第二个方法, 直接把函数定义里的continue语句直接换成pass语句:
def askcontinue():
askcontinue = g.ccbox('是否要继续选择其他文件,或者退出程序?' , choices = ('【继续选择】', '【退出程序】') )
if askcontinue == True:
path = root
pass
else:
sys.exit()
这个方法直接忽略掉continue但是起到了continue一样的作用。绝妙!
页:
[1]