如何解决在 Python 中创建“重做”函数以返回到多个函数的开头
如何让“重做”函数返回到多个不同函数的开头?我希望它返回起始函数的开头,但由于函数名称发生变化,重做函数不适用于第一个函数以外的任何其他函数。感谢任何帮助,提前致谢!
我正在尝试做的示例:
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
解决方法
一个函数不能直接改变其调用者的控制流,但它可以返回一个条件,调用者可以用来修改它自己的控制流:
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.")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。