Перейти к содержанию

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("РОБО: Пока! Берегите себя.") 

Теперь переходим к заданиям.