【发布时间】: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