2014-09-28 1 views
0

я вроде новичок в Python и я создал скрипт под названием ого-ботпитона еще или только напечатать «недопустимую команду»

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

ответ

1

Вам необходимо включить последнюю if в elif:

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

иначе ничего, что не quitexit или будет инициировать неверный текст.

+0

спасибо, что была проблема. – john

 Смежные вопросы

  • Нет связанных вопросов^_^