Предмет: Информатика, автор: gva1903

Пишу код:
for current_hour in range(24):
if current_hour < 12:
print('Доброе утро!')
else: current_hour > 12
print('Добрый день!')
Выдает такой ответ:
Доброе утро!
Добрый день!
Доброе утро!
Добрый день!
Доброе утро!
Добрый день!
Доброе утро!
Добрый день!
Доброе утро!
Добрый день!
Доброе утро!
Добрый день!
Доброе утро!
Добрый день!
Доброе утро!
Добрый день!
Доброе утро!
Добрый день!
Доброе утро!
Добрый день!
Доброе утро!
Добрый день!
Доброе утро!
Добрый день!
Добрый день!
Добрый день!
Добрый день!
Добрый день!
Добрый день!
Добрый день!
Добрый день!
Добрый день!
Добрый день!
Добрый день!
Добрый день!
Добрый день!
Но чередования в середине быть не должно, помогите

Ответы

Автор ответа: slonce70
2

Ваш код печатает оба сообщения для каждого часа из-за того, что вы используете else: current_hour > 12 вместо elif current_hour >= 12. Попробуйте заменить else на elif

for current_hour in range(24):

   if current_hour < 12:

       print('Доброе утро!')

   elif current_hour >= 12:

       print('Добрый день!')


gva1903: Спасибо, помогли
slonce70: Не вопрос)
Автор ответа: ismailva43
2
Проблема в том, что в твоем коде условие current_hour > 12 всегда истинно для всех часов, начиная с 13, и поэтому при каждой итерации цикла будет выполняться команда print('Добрый день!'). Вам нужно заменить current_hour > 12 на current_hour >= 12 чтобы условие было верно только для 12 часов, а не для всех часов после 12.

Вот исправленный код:

for current_hour in range(24):
if current_hour < 12:
print('Доброе утро!')
else:
print('Добрый день!')
Похожие вопросы