2014-09-28 72 views
0

我有點新的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) 工作?

當命令不正確時,它可以正常工作,但是當它正確時,它總是說「對不起,我不明白。」

任何幫助改善我的腳本?

+0

請更改最後如果爲elif。 – venki421 2014-09-28 13:55:51

回答

1

您需要打開最後ifelif

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

否則任何不quitexit會觸發無效的文本。

+0

謝謝你是這個問題。 – john 2014-09-28 13:56:00