Умение вести диалог — важный навык для воспитанного человека.
Напишите диалоговую программу, которая сначала познакомится с пользователем, а затем поинтересуется его настроением.
Формат ввода
В первой строке записано имя пользователя.
Во второй — ответ на вопрос: «хорошо» или «плохо».
Формат вывода:
В первой строке должен быть вопрос «Как Вас зовут?»
Во второй строке — «Здравствуйте, %username%!»
В третьей строке — вопрос «Как дела?»
В четвёртой строке реакция на ответ пользователя:
- если пользователь ответил «хорошо», следует вывести сообщение «Я за вас рада!»;
- если пользователь ответил «плохо», следует вывести сообщение «Всё наладится!».
Пример
Ввод
Аня
хорошо
Вывод
Как Вас зовут?
Здравствуйте, Аня!
Как дела?
Я за вас рада!
Решение
Часто вызывает смущение “рваный диалог” примера. Дело в том, что приграмму проверяет автомат и в соответствующих окнах нам показывают что он дает нам в качестве исходных данных и что ждет от нас в качестве ответа. В целом же диалог выглядит так:
Как Вас зовут?
Аня
Здравствуйте, Аня!
Как дела?
хорошо
Я за вас рада!
или так:
Как Вас зовут?
Боря
Здравствуйте, Боря!
Как дела?
плохо
Всё наладится!
Разобьем задачу на простые шаги:
1) спросить имя и записать его в переменную
2) поприветствовать
3) спросить как дела и записать в переменную
4) если хорошо вывести ‘Я за вас рада!’, в противном случае вывести ‘Все наладится!’
Посмотреть код
name = input('Как Вас зовут?\n')
print(f'Здравствуйте, {name}!')
mood = input('Как дела?\n')
if mood == 'хорошо':
print('Я за Вас рада!')
if mood == 'плохо':
print('Всё наладится!')
print('Как Вас зовут?')
name = input()
print(f'Здравствуйте, {name}!')
print('Как дела? ')
mood = input()
if mood == 'хорошо':
print('Я за Вас рада!')
if mood == 'плохо':
print('Всё наладится!')
рабочий вариант
Подписаться
В чём разница? Почему решение из решебника он не принимает и пишет «Неправильный ответ WA»?
С этой задачей проблемы были практически всегда.
Сначала тесты яндекса требовали, чтобы после вопроса всегда был ‘\n’. И решение с name = input(‘Как Вас зовут? ‘) не проходило, пока не напишешь name = input(‘Как Вас зовут?\n’), потом они отменили требование к ‘\n’ и я добавил решение с input() в том виде, в каком оно есть на момент написание ответа.
Сейчас, судя по вашему рабочему варианту, это требование снова вернули.
Кроме того, раньше условие проверки было не строгое, и проходили решения, которые реагированли на ответы «очень хорошо» или «все плохо» — if ‘хорошо’ in mood, cейчас уже требуется строгое соответствие
Я поправил решения под новые реалии.
Да, такое начало кода он не принимает:
С оператором in, тест яндекса принимает ответ:
Дело в том, что приграмму проверяет — опечатка в тексте под словом «Решение».
Тоже рабочий вариант: