Исправьте небольшой фрагмент кода

Сначала программа спрашивает у пользователя, какое у него настроение. Затем ответ анализируется. Предполагается, что пользователь отвечает словом или фразой, записанной строчными буквами.

Если в ответе пользователя есть ключевые слова вроде «хорошее», «прекрасно» (в любой форме), программа отвечает что-нибудь подходящее — например «Отлично, у меня тоже всё хорошо ». Если же встречаются слова вроде «плохо», то нужно ответить что-то подходящее и на этот случай (например, «Ничего, скоро всё наладится»).

Если ключевых слов того или другого типа не найдено, программа отвечает что-то нейтральное или извиняется и говорит, что не понимает пользователя. То же происходит, если в ответе есть «не» или вопросительный знак.

Случай, когда в ответе есть и «хорошие», и «плохие» слова, можно не рассматривать.

print('Как у вас настроение?')
a = input()
if a.startswith('хорош') or a.startswith('прекрасн'):
    print('Отлично, у меня тоже всё хорошо :)')
elif 'плох' in a:
    print('Ничего, скоро всё наладится')
elif 'не' in a:
    print('Извините, но я вас не понимаю')
elif '?' in a:
    print('Извините, но я вас не понимаю')
else:
    print('Извините, но я вас не понимаю')

такое замечание от учителя: не нужен здесь метод startwith. Это же может быть середина предложения. Просто первая проверка должна быть на то, что сразу нужно "отсечь".


Ответы (1 шт):

Автор решения: Danis
print('Как у вас настроение?')
text = input().lower()
if "не" in text:
    print('Извините, но я вас не понимаю')
elif 'хорош' in text or 'прекрасн' in text:
    print('Отлично, у меня тоже всё хорошо :)')
elif 'плох' in text:
    print('Ничего, скоро всё наладится')
else:
    print('Извините, но я вас не понимаю')
→ Ссылка