我正在写一个类似于mastermind的游戏,我想选择一个简单或困难的版本。我不确定如何执行此操作,因为在实际游戏开始之前需要提问,但是会出现错误,因为在分配功能之前调用了该函数。
def difficulty():
difficulty = input("would you like to the easy or hard version?")
if difficulty == ("easy"):
easy()
elif difficulty == ("hard"):
hard()
difficulty()
这是开始,然后是功能更强的游戏代码然后更简单的游戏代码的功能。如果他们要求easy,我试图运行easy,反之亦然,但是easy()和hard()不会运行代码,因为尚未分配代码。我认为这是因为python从上至下读取代码,并在发现错误但不确定时停止。
我以前从未使用过它,所以如果事情不清楚或做错了事,我深表歉意。
我也是python的新手。
如果有人可以帮助我,我将不胜感激。
答案 0 :(得分:1)
在识别模块内部的函数时,Python非常聪明。例如,您可以这样做:
def x():
y()
def y():
print("Y")
x()
,它将正确执行。
执行从上到下的代码块是正确的,并且这些功能的定义也将自上而下地构造,但随后将执行。
我在您的代码中看到了一些问题。
difficulty = input("would you like to the easy or hard version?")
,但同时您有一个名为def difficulty
的函数。那里有冲突,请尝试重命名该变量。("easy")
,这太过分了,您可以直接与"easy"
进行比较。