【问题标题】:python else or except to print "invalid command"python else or except 打印“无效命令”
【发布时间】:2014-11-22 23:59:54
【问题描述】:

我是 python 的新手,我创建了一个名为 py-bot 的脚本

import time, random

prompt = "> "
invalid = "sorry i did not understand."

talk_back_var1 = ["Hello and welcome to 'Talk-Bot'.",
                              "Welcome to 'Py-Bot'."]

talk_back_var2 = ["Very good thanks", "I feel ill....",
                              "Not good", "I don't know"]

def main_chat():
    while True:
        user_input = str(input(prompt)).lower()

        if user_input in["hi", "hello", "yo"]:
            talk_back = random.choice(talk_back_var1)
            print(talk_back)

        elif user_input == "how are you?" or user_input == "how are you":
            talk_back2 = random.choice(talk_back_var2)
            print(talk_back2, "\n", "And you? (good or bad)")

        elif user_input == "good":
            print("ok")
        elif user_input == "bad":
            print("why?")
            input()
            print("Oh ok")

        if user_input in ["quit", "exit"]:
            print("Thanks for using 'Py-Bot'.")
            break

        else:
            print(invalid)


main_chat()

但是我如何制作else: print(invalid) 工作吗?

当命令不正确时,它可以正常工作,但当它正确时,它总是说“对不起,我不明白。”

对改进我的脚本有什么帮助吗?

【问题讨论】:

  • 请将最后一个 if 改为 elif。

标签: python loops if-statement except


【解决方案1】:

你需要把最后一个if变成elif

elif user_input in ["quit", "exit"]:

否则任何不是quitexit 都会触发您的无效文本。

【讨论】:

    猜你喜欢
    • 2021-11-24
    • 2013-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多