我试图实现具有潜在跳过的多个阶段的功能,但我不确定我的方法是否有效。问题是计算第1部分时使用的值是否会继续用于下一阶段。例如,让我们说第四阶段看起来像:
define stage4(x):
# Part 1. Computations of stage 4
...
...
# Part 2. Computations are done, now ask user which stage is next
nextstage = int(input("Go to which stage?"))
if (nextstage == 5):
return stage5(x)
elif (nextstage == 7):
return stage7(x)
else:
print("error, try again")
return stage4()
我的问题是,如果我在第5阶段通过此代码调用(通过输入" 5"在控制台上),stage5会在stage4退出之前或之后发生吗?我不希望stage4等待stage5的返回值;我想在调用stage5之后完全离开stage4。
我担心的是,由于我有多个阶段,如果我在调用下一阶段之前没有正确退出前一阶段,我将会携带一大堆无用的记忆。那么这段代码会在调用stage5之前正确退出stage4吗?或者我应该完全修复舞台结构来解决这个问题吗?