如果内部函数中的条件失败,则跳出外部函数
Break out of outer function if condition in inner function fails
我有一个函数 move()
,它的代码很长,需要一分钟才能完成 运行,在此期间,执行该函数的条件可能不再成立。起初我正在寻找一些东西来检查语句是否正确,然后再执行每一行新代码,但显然不存在(超级奇怪)。
我的新想法如下:
def breakk():
if x==0 or y == 0 or z == 0:
code
code
code
return
def move():
if x==1 and y == 1 and z == 1:
code
code
breakk()
code
code
breakk()
code
但这不起作用,因为内部函数 breakk()
中的 return
对外部函数 move()
没有影响
我目前的工作非常糟糕..:[=16=]
breakkk=0
def breakk():
global breakkk
if x==0 or y == 0 or z == 0:
code
code
code
breakkk=1
def move():
global breakkk
if x==1 and y == 1 and z == 1:
code
code
breakk()
if breakkk==1:
breakkk=0
return
code
code
breakk()
if breakkk==1:
breakkk=0
return
code
.....
move()
将breakk()
return设为boolean
然后检查breakk()
是否为true
:
def move():
if x==1 and y == 1 and z == 1:
code
code
if breakk():
return
code
code
if breakk():
return
code
我有一个函数 move()
,它的代码很长,需要一分钟才能完成 运行,在此期间,执行该函数的条件可能不再成立。起初我正在寻找一些东西来检查语句是否正确,然后再执行每一行新代码,但显然不存在(超级奇怪)。
我的新想法如下:
def breakk():
if x==0 or y == 0 or z == 0:
code
code
code
return
def move():
if x==1 and y == 1 and z == 1:
code
code
breakk()
code
code
breakk()
code
但这不起作用,因为内部函数 breakk()
中的 return
对外部函数 move()
我目前的工作非常糟糕..:[=16=]
breakkk=0
def breakk():
global breakkk
if x==0 or y == 0 or z == 0:
code
code
code
breakkk=1
def move():
global breakkk
if x==1 and y == 1 and z == 1:
code
code
breakk()
if breakkk==1:
breakkk=0
return
code
code
breakk()
if breakkk==1:
breakkk=0
return
code
.....
move()
将breakk()
return设为boolean
然后检查breakk()
是否为true
:
def move():
if x==1 and y == 1 and z == 1:
code
code
if breakk():
return
code
code
if breakk():
return
code