你怎么能把功能转到另一个功能?

时间:2013-04-09 12:04:57

标签: python input

所以我有这个游戏:

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”,我想去游戏()。它没有。

2 个答案:

答案 0 :(得分: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()

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

if __name__ == "__main__":
    Start()

然后将所有全局代码放入Start方法中。 再次确保在使用之前声明。

答案 1 :(得分:0)

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

您可能希望使用raw_input(),它只会返回用户输入的内容