循环的Python宠物小精灵游戏

时间:2017-02-11 18:12:37

标签: python

好的,我正在编写一个口袋妖怪文本冒险游戏,我需要帮助while循环。我已经完成了while循环部分。但是,不起作用的部分是:你可以选择两个raw_inputs运行,战斗。当您按其中任何一个时,它都不会显示该消息。它只是重复我编程的问题。这个问题要求"你想跑步还是与Yveltal战斗? &#34 ;.你可以输入"运行"或"战斗"在ipython会话中。当你输入Battle时,它应该说"你向Yveltal挑战了一场战斗!"。当你输入run它应该说"你不能让你胆小鬼"但是如果你输入任何东西,它所做的就是问同样的问题"你想要跑步还是与Yveltal战斗? &#34 ;.我想要帮助的是离开while循环,当你键入run或battle时,它将显示该命令的消息。这是代码,我可以使用任何人的帮助,谢谢!

from time import sleep
def start():
    sleep(2)
    print "Hello there, what is your name?"
    name = raw_input ()
    print "Oh.. So your name is %s!" % (name)
    sleep(3)
    print"\nWatch out %s a wild Yveltal appeared!" % (name)
    sleep(4)
    user_input = raw_input("Do you want to Run or Battle the Yveltal?" "\n")
    while raw_input() != 'Battle' or user_input == 'battle' != 'Run' or user_input == 'run':
        print("Do you want to Run or Battle the Yveltal? ")
    if user_input == 'Battle' or user_input == 'battle':
        print("You challenged Yveltal to a battle!")
    elif user_input == 'Run' or user_input == 'run':
        print("You can't run you coward!")

1 个答案:

答案 0 :(得分:0)

你的while循环充满了错误或错误。试试这个:

while user_input.lower() != "battle" or user_input.lower() != "run": 使用.lower()函数可以使您不必计划“RuN”或“baTTle”。它将字符串转换为小写,以便您可以检查单词。此外,您应该使用input()而不是raw_input()老实说,我会像这样构建您的代码:

user_input = input("Run or battle?\n") #or whatever you want your question
user_input = user_input.lower()
while True:
    if user_input == "battle":
          print("You challenged Yveltal to a battle!")
          break
    elif user_input == "run":
          print("You can't run you coward!")
          user_input = input("Run or battle?\n") 
          user_input = user_input.lower()
          break
    else:
          user_input = input("Run or battle?\n") 
          user_input = user_input.lower()

你可能会有更好的运气。