如果内部函数中的条件失败,则跳出外部函数

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