在读取功能代码之前,如何从输入中运行功能?

时间:2019-04-04 22:38:37

标签: python

我正在写一个类似于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的新手。

如果有人可以帮助我,我将不胜感激。

1 个答案:

答案 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"进行比较。