Яндекс.Практикум

4. Логические выражения (Циклы и ветвления)

Задача 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 новых сообщений

Оставьте комментарий