簡體   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