McBin

Создание 'умного' бота-собеседника | Практика 1

Вот готовое практическое задание, разработанное специально для учеников 9 класса с начальным уровнем знаний Python.

---

# Практическая работа: Создание «Умного» Бота-Собеседника
**Тема:** Переменные и типы данных в Python
**Время выполнения:** 30–40 минут

### 🎯 Цель работы
Сегодня мы не просто пишем код, а создаем прототип искусственного интеллекта. Ваша задача — научить программу «запоминать» информацию о пользователе (имя, возраст, увлечения) с помощью переменных и использовать эти данные для построения диалога.

---

### 🛠 Часть 1. «Знакомство» (Базовый уровень)
**Задача:** Создать «коробки» (переменные) для хранения данных и положить в них ответы пользователя.

1.  Откройте вашу среду разработки (IDLE, PyCharm, Replit или другую).
2.  Создайте новый файл `bot_v1.py`.
3.  Напишите код, который последовательно задает три вопроса и сохраняет ответы в переменные.

**Инструкция:**
*   Используйте команду `input()` для ввода данных.
*   Присвойте результаты переменным с понятными именами (на английском языке, маленькими буквами).
    *   Для имени используйте переменную `user_name`
    *   Для возраста — `user_age`
    *   Для хобби — `user_hobby`

**Пример кода (шаблон):**
```python
print("Привет! Я твой новый виртуальный помощник.")

# Здесь ваш код
user_name = input("Как тебя зовут? ")
# Допишите команды для возраста и хобби ниже...
```

---

### 🧠 Часть 2. «Сила f-строк» (Связывание данных)
**Задача:** Научить бота выдавать осмысленный и забавный ответ, используя собранные данные. Мы используем **f-строки** (форматированные строки), чтобы вставить значения переменных прямо в текст.

1.  В том же файле, после команд ввода, добавьте команду вывода `print()`.
2.  Сформируйте ответ бота так, чтобы он звучал естественно.

**Сценарий диалога:**
Бот должен сказать что-то вроде: *"Приятно познакомиться, [Имя]! Ого, тебе уже [Возраст]. [Хобби] — это отличный выбор для захвата мира!"*

**Подсказка по синтаксису:**
Чтобы вставить переменную внутрь текста, поставьте букву `f` перед кавычками и возьмите имя переменной в фигурные скобки `{}`.

```python
# Пример:
print(f"Слушай, {user_name}, а ты неплохо выглядишь для своих {user_age} лет!")
```

**Задание:** Напишите свой уникальный вариант ответа бота, используя все три переменные (`user_name`, `user_age`, `user_hobby`).

---

### 🧮 Часть 3. «Машина времени» (Работа с типами данных)
**Проблема:** Команда `input()` всегда сохраняет данные как **строку** (текст). Даже если пользователь ввел цифру "15", для компьютера это просто символ, как буква. Мы не можем прибавлять числа к тексту.

**Задача:** Научить бота считать. Пусть он скажет, сколько лет будет пользователю в 2050 году.

1.  Найдите строку, где вы спрашиваете возраст.
2.  Преобразуйте ответ пользователя в целое число с помощью команды `int()`.
    *   *Было:* `user_age = input("Сколько тебе лет? ")`
    *   *Стало:* `user_age = int(input("Сколько тебе лет? "))`
3.  Создайте новую переменную `future_age`. Посчитайте в ней: `user_age + 25` (или другое число лет).
4.  Добавьте финальную фразу бота.

**Пример вывода:**
> *"Кстати, через 25 года тебе будет уже [Результат]. Надеюсь, ты все еще будешь любить [Хобби]!"*

---

### 🎨 Часть 4. Творческий вызов: «Смена личности»
**Задача:** Измените текст вопросов и ответов так, чтобы у вашего бота появился характер. Выберите один из сценариев ниже и перепишите программу (можно сохранить как `bot_v2.py`).

**Сценарий А: "Подозрительный детектив"**
*   *Вместо "Как тебя зовут?"* -> "Назовите ваше кодовое имя, агент."
*   *Вместо "Сколько лет?"* -> "Сколько лет вы скрываетесь?"
*   *Реакция:* "Принято, агент [Имя]. Ваше прикрытие ([Хобби]) надежно. До связи."

**Сценарий Б: "Бабушка-робот"**
*   *Вопросы:* Ласковые ("Внучок", "Милок").
*   *Реакция:* Жалуется на современную молодежь или предлагает виртуальные пирожки.

**Сценарий В: "Тролль"**
*   Бот подшучивает над возрастом или выбором хобби (в рамках приличия!).

---

### ✅ Чек-лист для самопроверки
Перед тем как показать работу учителю, проверьте:
1.  [ ] Переменные названы понятно (`name`, `age`, а не `a`, `b`, `x`).
2.  [ ] Программа не падает с ошибкой при вводе имени.
3.  [ ] Использованы f-строки (конструкция `f"..."`).
4.  [ ] Программа выполняет математическое действие с возрастом (преобразование в `int`).
5.  [ ] Бот выдает связное предложение в конце.

**Вопрос на засыпку:** Что произойдет, если в вопросе про возраст пользователь напишет слово "пятнадцать" вместо цифры "15"? Попробуйте и объясните, почему так случилось.
Copied to clipboard!