Задача 1
Замените три точки в условиях правильным логическим оператором and
или or
.
Код:
for current_hour in range(0, 24):
print("На часах " + str(current_hour) + ":00.")
if current_hour >= 6 and current_hour <= 11 :
print('Доброе утро!')
elif current_hour >= 12 and current_hour <= 17:
print('Добрый день!')
elif current_hour >= 18 and current_hour <= 22:
print('Добрый вечер!')
elif current_hour <= 5 or current_hour >= 23:
print('Доброй ночи!')
Результат:
На часах 0:00. Доброй ночи! На часах 1:00. Доброй ночи! ... На часах 6:00. Доброе утро! ... На часах 13:00. Добрый день! ... На часах 23:00. Доброй ночи!
Задача 2
Научите Анфису правильно называть количество новых сообщений, когда их меньше 100.
Примените логический оператор or
и множественое ветвление с elif
, чтобы Анфиса выражалась грамотно.
К примеру: «У вас 1 новое сообщение», «У вас 35 новых сообщений», «У вас 24 новых сообщения».
Последнюю цифру удобнее всего получать как остаток при делении на 10. В коде этого задания он вычисляется оператором модуло%
:
# англ. remainder, "остаток"
remainder = a % 10 # остаток от деления `a` на 10
Код:
# Нужно рассмотреть больше случаев в if-elif-else
for messages_count in range(0, 100):
remainder = messages_count % 10
if messages_count == 0: print('У вас нет новых сообщений')
elif 11 < messages_count < 19: print('У вас', messages_count, 'новых сообщений')
elif remainder == 1 and messages_count != 11 : print('У вас', messages_count, 'новое сообщение')
elif 1 < remainder < 5 : print('У вас', messages_count, 'новых сообщения')
else: print('У вас', messages_count, 'новых сообщений')
Результат:
У вас нет новых сообщений У вас 1 новое сообщение У вас 2 новых сообщения У вас 3 новых сообщения У вас 4 новых сообщения ... У вас 20 новых сообщений У вас 21 новое сообщение У вас 22 новых сообщения У вас 23 новых сообщения У вас 24 новых сообщения ... У вас 40 новых сообщений
Оставьте комментарий
You must be logged in to post a comment.