1.16. Курсовая работа-2
Курсовая работа "РОБО" (электронный помощник).
Электронный помощник - это небольшой чатбот. На входе у него строка пользователя, а на выходе некий ответ. Посмотрим на начальную реализацию и попытаемся поздороваться:
РОБО: Меня зовут РОБО. Я буду вашим личным ассистентом. Разве не здорово? Если хотите выйти, то напишите "пока"
>привет
РОБО: Одно непонятное слово
>пока
РОБО: Пока! Берегите себя.
Как уже стало понятно, чатбот реагирует на фразу пока
. Все остальные для него фразы непонятны, это и предстоит вам исправить! Ограничения бота:
- Только одна команда для выхода
- Максимум три слова для анализа
- Все входные слова приходят в нижнем регистре
Код базовой версии:
# Обработка ответа
def response1(word):
return "Одно непонятное слово"
def response2(word1,word2):
return "Два непонятных слова"
def response3(word1,word2,word3):
return "Три непонеятных слова"
#Основная программа. Не менять!
flag=True
print("РОБО: Меня зовут РОБО. Я буду вашим личным ассистентом. Разве не здорово? Если хотите выйти, то напишите \"пока\"\n>", end='')
while(flag==True):
user_response = input()
user_response=user_response.lower().strip()
if(user_response != 'пока'):
words_resp = user_response.split(' ')
if len(words_resp)>3:
print("РОБО: очень много слов, я понимаю от одного до трёх. Попробуйте еще раз.\n>", end='')
elif len(words_resp)==0 or (len(words_resp)==1 and len(words_resp[0])==0):
print("РОБО: ну, помолчим.\n>", end='')
else:
resp = "Неизвестно"
if len(words_resp)==1:
resp = response1(words_resp[0])
elif len(words_resp)==2:
resp = response2(words_resp[0],words_resp[1])
else:
resp = response3(words_resp[0],words_resp[1],words_resp[2])
print("РОБО: "+resp+"\n>", end='')
else:
flag=False
print("РОБО: Пока! Берегите себя.")
Теперь переходим к заданиям.