2

所以我有这个游戏:

import sys

def Start():
    print("Hello and welcome to my first Python game. I made it for fun and because I am pretty bored right now.")
    print("I hope you enjoy my EPIC TEXT GAME")

play = input("do you want to play? (Y / N) ")

if play == "Y":
    game()

if play == "N":
    sys.exit()

def game():
    print("That's pretty much what I've done so far! :P -- yea yea, it's nothing -- IT IS!. Bye now")
    input("Press enter to exit")

如果我输入“Y”我想去游戏()。它没有。

4

2 回答 2

4

game在您尝试并使用它之后,您已经定义了它。您需要在使用它们之前定义函数、变量等。此外,您的代码仅匹配大写Y而不是小写y。要使所有输入大写,您应该使用它上面的.upper()方法
将代码更改为:

def game():
    print("That's pretty much what I've done so far!")
    input("Press enter to exit")

if play.upper() == "Y":
    game()
elif play.upper() == "N":
    sys.exit()

通常最好的形式是没有任何全局代码,main如果 python 代码作为主代码运行,则将其包含在函数中。您可以使用以下方法执行此操作:

if __name__ == "__main__":
    Start()

然后将所有全局代码放入Start方法中。同样,请确保在使用前声明。

于 2013-04-09T12:07:44.760 回答
0

您正在使用input()函数,该函数在从标准输入读取输入后立即将其作为命令执行。

您可能想使用raw_input()它将简单地返回用户输入的内容

于 2013-04-09T12:13:41.050 回答