• Предмет: Информатика
  • Автор: gva1903
  • Вопрос задан 2 месяца назад

Пишу код:
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('Добрый день!')
Вас заинтересует