Реализуйте программу "Алиса"!
Робот Алиса общается с пользователем. Она задаёт вопросы, принимает ответы через input() и реагирует на них, выводя реплики с помощью print().
Требования:
Алиса должна представиться и попросить ввести имя пользователя.
Спросить, как у пользователя дела, и ответить по-разному в зависимости от ввода (хорошо или плохо)
Задать математический вопрос (2+2) и проверить ответ.
Спросить у пользователя его город
Спросить у пользователя сколько ему лет
Спросить у пользователя дату рождения
Сказать, что поздравит с днем рождения пользователя
Попрощаться, используя имя пользователя.
Пример диалога:
Алиса: Привет! Я робот Алиса. Как тебя зовут?
Пользователь: [вводит] Миша
Алиса: Приятно познакомиться, Миша! Как твои дела? (хорошо/плохо)
Пользователь: [вводит] хорошо
Алиса: Отлично! Я рада за тебя!
Алиса: Давай проверим твои навыки в математике. Сколько будет 2 + 2?
Пользователь: [вводит] 4
Алиса: Верно! Ты молодец!
Алиса: В каком городе ты родился?
Пользователь: [вводит] Москва
Алиса: Сколько тебе лет?
Пользователь: [вводит] 10
Алиса: Когда у тебя День Рождения?
Пользователь: [вводит] 14 августа
Алиса: Отлично, Миша! 14 августа я обязательно поздравлю тебя с Днем рождения, ведь тебе исполнится 11. Москва в этот день будет украшена салютом в честь твоего Дня рождения!
Алиса: До встречи, Миша! Было приятно пообщаться!
Если пользователь отвечает на вопрос "Как твои дела?" "хорошо", нужно вывести "Алиса: Отлично! Я рада за тебя!", если ответом "плохо", нужно вывести "Алиса: Не грусти! Всё наладится!", иначе "Алиса: Окей, будем считать, что всё нормально!"
Если пользователь отвечает на реплику "Алиса: Давай проверим твои навыки в математике. Сколько будет 2 + 2?" правильно, то нужно вывести "Алиса: Верно! Ты молодец!", а если неверным ответом, нужно вывести "Алиса: Неверно, правильный ответ: 4."
Ответ нейросети
20 октября 2025 17:38
Ниже представлен подробный план и готовый код на Python для реализации программы "Алиса" согласно заданию. Он выполняет все шаги диалога, учитывает ответ пользователя на вопросы и формирует финальное сообщение с именем и введённой информацией.
Что делает программа
Представляется и просит ввести имя.
Спрашивает, как у пользователя дела, и отвечает в зависимости от ввода:
если "хорошо" — "Алиса: Отлично! Я рада за тебя!"
если "плохо" — "Алиса: Не грусти! Всё наладится!"
иначе — "Алиса: Окей, будем считать, что всё нормально!"
Задает математический вопрос "Сколько будет 2 + 2?" и проверяет ответ.
верный ответ: "Алиса: Верно! Ты молодец!"
неверный: "Алиса: Неверно, правильный ответ: 4."
Спрашивает город, возраст и дату рождения.
Сообщает, что поздравит с днём рождения и учитывает возраст на следующий год.
Финально прощается, используя имя пользователя.
Код (Python 3)
def main():
# Приветствие и запрос имени
print("Алиса: Привет! Я робот Алиса. Как тебя зовут?")
name = input().strip()
if not name:
name = "Друг"
# Спрашивает, как дела
print(f"Алиса: Приятно познакомиться, {name}! Как твои дела? (хорошо/плохо)")
mood = input().strip().lower()
if mood == "хорошо":
print("Алиса: Отлично! Я рада за тебя!")
elif mood == "плохо":
print("Алиса: Не грусти! Всё наладится!")
else:
print("Алиса: Окей, будем считать, что всё нормально!")
# Математический вопрос
print("Алиса: Давай проверим твои навыки в математике. Сколько будет 2 + 2?")
answer = input().strip()
if answer.isdigit() and int(answer) == 4:
print("Алиса: Верно! Ты молодец!")
else:
print("Алиса: Неверно, правильный ответ: 4.")
# Город
print("Алиса: В каком городе ты родился?")
city = input().strip()
# Возраст
print("Алиса: Сколько тебе лет?")
age_input = input().strip()
try:
age = int(age_input)
except ValueError:
age = 0 # если введено некорректное число, устанавливаем 0
# День рождения
print("Алиса: Когда у тебя День Рождения?")
birthday = input().strip()
age_next = age + 1
# Финальная поздравительная реплика с учетом введенных данных
print(f"Алиса: Отлично, {name}! {birthday} я обязательно поздравлю тебя с Днем рождения, ведь тебе исполнится {age_next}. {city} в этот день будет украшена салютом в честь твоего Дня рождения!")
# До встречи
print(f"Алиса: До встречи, {name}! Было приятно пообщаться!")
if __name__ == "__main__":
main()
Пояснения к важным моментам
Для обработки вариативности ответа на вопрос "Как твои дела?" используется приведение к нижнему регистру и сравнение с нужными словами.
Проверка ответа на математический пример учитывает числовой ввод. Если пользователь вводит не число, ответ считается неверным.
Возраст на следующую дату рассчитывается как age + 1, и эта цифра вставляется в финальное поздравление вместе с введённой датой рождения и городом.
Если хочешь, могу адаптировать код под другой язык или стиль диалога, добавить валидацию вводов или сделать сценарий более устойчивым к ошибкам пользователя.
ПО распространяется в виде интернет-сервиса, специальные действия по установке ПО на стороне пользователя не требуются
Реализуйте программу "Алиса"!
Робот Алиса общается с пользователем. Она задаёт вопросы, принимает ответы через input() и реагирует на них, выводя реплики с помощью print().
Требования:
Алиса должна представиться и попросить ввести имя пользователя.
Спросить, как у пользователя дела, и ответить по-разному в зависимости от ввода (хорошо или плохо)
Задать математический вопрос (2+2) и проверить ответ.
Спросить у пользователя его город
Спросить у пользователя сколько ему лет
Спросить у пользователя дату рождения
Сказать, что поздравит с днем рождения пользователя
Попрощаться, используя имя пользователя.
Пример диалога:
Алиса: Привет! Я робот Алиса. Как тебя зовут?
Пользователь: [вводит] Миша
Алиса: Приятно познакомиться, Миша! Как твои дела? (хорошо/плохо)
Пользователь: [вводит] хорошо
Алиса: Отлично! Я рада за тебя!
Алиса: Давай проверим твои навыки в математике. Сколько будет 2 + 2?
Пользователь: [вводит] 4
Алиса: Верно! Ты молодец!
Алиса: В каком городе ты родился?
Пользователь: [вводит] Москва
Алиса: Сколько тебе лет?
Пользователь: [вводит] 10
Алиса: Когда у тебя День Рождения?
Пользователь: [вводит] 14 августа
Алиса: Отлично, Миша! 14 августа я обязательно поздравлю тебя с Днем рождения, ведь тебе исполнится 11. Москва в этот день будет украшена салютом в честь твоего Дня рождения!
Алиса: До встречи, Миша! Было приятно пообщаться!
Если пользователь отвечает на вопрос "Как твои дела?" "хорошо", нужно вывести "Алиса: Отлично! Я рада за тебя!", если ответом "плохо", нужно вывести "Алиса: Не грусти! Всё наладится!", иначе "Алиса: Окей, будем считать, что всё нормально!"
Если пользователь отвечает на реплику "Алиса: Давай проверим твои навыки в математике. Сколько будет 2 + 2?" правильно, то нужно вывести "Алиса: Верно! Ты молодец!", а если неверным ответом, нужно вывести "Алиса: Неверно, правильный ответ: 4."
Ниже представлен подробный план и готовый код на Python для реализации программы "Алиса" согласно заданию. Он выполняет все шаги диалога, учитывает ответ пользователя на вопросы и формирует финальное сообщение с именем и введённой информацией.
Что делает программа
- Представляется и просит ввести имя.
- Спрашивает, как у пользователя дела, и отвечает в зависимости от ввода:
- если "хорошо" — "Алиса: Отлично! Я рада за тебя!"
- если "плохо" — "Алиса: Не грусти! Всё наладится!"
- иначе — "Алиса: Окей, будем считать, что всё нормально!"
- Задает математический вопрос "Сколько будет 2 + 2?" и проверяет ответ.
- верный ответ: "Алиса: Верно! Ты молодец!"
- неверный: "Алиса: Неверно, правильный ответ: 4."
- Спрашивает город, возраст и дату рождения.
- Сообщает, что поздравит с днём рождения и учитывает возраст на следующий год.
- Финально прощается, используя имя пользователя.
Код (Python 3)
```python
def main():
# Приветствие и запрос имени
print("Алиса: Привет! Я робот Алиса. Как тебя зовут?")
name = input().strip()
if not name:
name = "Друг"
# Спрашивает, как дела
print(f"Алиса: Приятно познакомиться, {name}! Как твои дела? (хорошо/плохо)")
mood = input().strip().lower()
if mood == "хорошо":
print("Алиса: Отлично! Я рада за тебя!")
elif mood == "плохо":
print("Алиса: Не грусти! Всё наладится!")
else:
print("Алиса: Окей, будем считать, что всё нормально!")
# Математический вопрос
print("Алиса: Давай проверим твои навыки в математике. Сколько будет 2 + 2?")
answer = input().strip()
if answer.isdigit() and int(answer) == 4:
print("Алиса: Верно! Ты молодец!")
else:
print("Алиса: Неверно, правильный ответ: 4.")
# Город
print("Алиса: В каком городе ты родился?")
city = input().strip()
# Возраст
print("Алиса: Сколько тебе лет?")
age_input = input().strip()
try:
age = int(age_input)
except ValueError:
age = 0 # если введено некорректное число, устанавливаем 0
# День рождения
print("Алиса: Когда у тебя День Рождения?")
birthday = input().strip()
age_next = age + 1
# Финальная поздравительная реплика с учетом введенных данных
print(f"Алиса: Отлично, {name}! {birthday} я обязательно поздравлю тебя с Днем рождения, ведь тебе исполнится {age_next}. {city} в этот день будет украшена салютом в честь твоего Дня рождения!")
# До встречи
print(f"Алиса: До встречи, {name}! Было приятно пообщаться!")
if __name__ == "__main__":
main()
```
Пояснения к важным моментам
- Для обработки вариативности ответа на вопрос "Как твои дела?" используется приведение к нижнему регистру и сравнение с нужными словами.
- Проверка ответа на математический пример учитывает числовой ввод. Если пользователь вводит не число, ответ считается неверным.
- Возраст на следующую дату рассчитывается как age + 1, и эта цифра вставляется в финальное поздравление вместе с введённой датой рождения и городом.
Если хочешь, могу адаптировать код под другой язык или стиль диалога, добавить валидацию вводов или сделать сценарий более устойчивым к ошибкам пользователя.