创建 "redo" 函数到 return 到 Python 中多个函数的开头

Creating "redo" function to return to beginning of multiple functions in Python

如何让 'redo' 函数 return 到多个不同函数的开头?我希望它在起始函数的开头 return 但由于函数名称更改,重做函数将不适用于第一个函数以外的任何其他函数。感谢任何帮助,提前致谢!

我正在尝试做的事情的例子:

function_1():
  print('x')
  redo()

function_2():
  print('y')
  redo()

def redo():
 while True:
    redo = input("Would you like to redo this section?\nEnter y/n: ")
    while redo not in ('y', 'n'):
            print("Please enter a valid input.\n")
    if redo == 'y':
        (original function its under) 
    elif redo == 'n':
        break

一个函数不能直接改变它的调用者的控制流,但是它可以return一个调用者可以用来修改它自己的控制流的条件:

def function_1():
    run = True
    while run:
        print('x')
        run = redo()

def function_2():
    run = True
    while run:
        print('y')
        run = redo()

def redo():
    while True:
        redo = input("Would you like to redo this section?\nEnter y/n: ")
        if redo == 'y':
            return True
        if redo == 'n':
            return False
        print("Please enter a valid input.")