/
Mumis_228
/
practice_project
Обзор
Документация
Войти
/
Mumis_228
/
practice_project
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/bot.py
92 строки
4 KB
Муминов Абубакр
Вариативная часть 2.2: создание чат-бота
27 июн 2026, 14:39
27 июн 2026, 14:39
6466514
Код
Авторство
О чём код?
# 🧠 Простой чат-бот # Вариант 2.2: Практическая реализация технологии "с нуля" import random import datetime class SimpleBot: """Простой чат-бот, который отвечает на базовые вопросы""" def __init__(self, name="МойБот"): self.name = name self.responses = { "привет": [ "Привет! Как дела?", "Здравствуйте! Рад вас видеть!", "Приветствую! Чем могу помочь?" ], "как дела": [ "У меня всё отлично! А у вас?", "Хорошо! Сегодня прекрасный день", "Я работаю, спасибо что спросили!" ], "пока": [ "До свидания! Приходите ещё!", "Пока-пока! Удачи!", "Всего хорошего! Был рад пообщаться!" ], "помощь": [ "Я умею отвечать на приветствия, прощаться и сообщать время.", "Спросите меня 'привет', 'время' или 'пока'" ], "время": [ f"Сейчас {datetime.datetime.now().strftime('%H:%M')}", f"Текущее время: {datetime.datetime.now().strftime('%H:%M:%S')}" ] } self.history = [] # история диалога def get_response(self, user_input): """Получить ответ бота на сообщение пользователя""" user_input = user_input.lower().strip() # Добавляем сообщение в историю self.history.append(f"Пользователь: {user_input}") # Ищем совпадение в ключах словаря for key in self.responses: if key in user_input: answer = random.choice(self.responses[key]) self.history.append(f"{self.name}: {answer}") return answer # Если ключевое слово не найдено default_responses = [ "Я вас не совсем понял. Попробуйте перефразировать.", "Извините, я ещё учусь. Спросите что-то другое.", "Хм... Я не знаю, что на это ответить. Напишите 'помощь' чтобы увидеть мои возможности." ] answer = random.choice(default_responses) self.history.append(f"{self.name}: {answer}") return answer def show_history(self): """Показать историю диалога""" return "\n".join(self.history[-10:]) # последние 10 сообщений def main(): """Запуск чат-бота""" bot = SimpleBot() print("=" * 50) print(f"Привет! Я {bot.name}, ваш помощник!") print("Напишите 'пока' чтобы выйти, 'история' чтобы посмотреть историю") print("=" * 50) while True: user_input = input("\nВы: ") if user_input.lower() == 'пока': print(f"{bot.name}: До свидания! Рад был помочь!") break if user_input.lower() == 'история': print("\n--- История диалога ---") print(bot.show_history()) print("------------------------") continue response = bot.get_response(user_input) print(f"{bot.name}: {response}") if __name__ == "__main__": main()