Python : 如何避免使用递归调用?
Python : How to avoid using recursive calling?
我被告知应该避免递归调用,所以我尝试使用 return 结束函数并回调主函数。但是,它并没有像我想象的那样完美地工作(主函数中的打印语句没有被执行),我可以知道是哪部分代码导致了问题或者是否有任何其他方法来处理递归调用?
def view():
print("View page")
while True:
view_option = input("Please enter 'back': ")
if view_option == '':
continue
elif view_option == "back":
return
# being told to not use main()
def main():
print("Main page")
while True:
main_option = input("Please enter 'view': ")
if main_option == "view":
view()
else:
continue
main()
输出:
Main page
Please enter 'view': view
View page
Please enter 'back': back
Please enter 'view':
预期输出:
Main page
Please enter 'view': view
View page
Please enter 'back': back
Main page
Please enter 'view':
在 while 循环中添加打印语句,如下所示:
def main():
while True:
print("Main page")
我被告知应该避免递归调用,所以我尝试使用 return 结束函数并回调主函数。但是,它并没有像我想象的那样完美地工作(主函数中的打印语句没有被执行),我可以知道是哪部分代码导致了问题或者是否有任何其他方法来处理递归调用?
def view():
print("View page")
while True:
view_option = input("Please enter 'back': ")
if view_option == '':
continue
elif view_option == "back":
return
# being told to not use main()
def main():
print("Main page")
while True:
main_option = input("Please enter 'view': ")
if main_option == "view":
view()
else:
continue
main()
输出:
Main page
Please enter 'view': view
View page
Please enter 'back': back
Please enter 'view':
预期输出:
Main page
Please enter 'view': view
View page
Please enter 'back': back
Main page
Please enter 'view':
在 while 循环中添加打印语句,如下所示:
def main():
while True:
print("Main page")