繁体   English   中英

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

[英]How do I run a function from an input before the code for the function has been read?

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

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

在识别模块内部的函数时,Python非常聪明。 例如,您可以这样做:

def x():
    y()


def y():
    print("Y")

x()

它将正确执行。

您对从上到下执行的代码块的执行是正确的,并且这些功能的定义也将自上而下地构造,但随后将执行。

我在您的代码中看到了一些问题。

  • 您确实做到了difficulty = input("would you like to the easy or hard version?")但同时您有一个名为def difficulty的函数。 那里有冲突,请尝试重命名该变量。
  • 您不需要做("easy") ,这太过分了,您可以直接将其与"easy"进行比较。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM