Решение Python Задача «Электронные часы»

Условие

Дано число n. С начала суток прошло n минут. Определите, сколько часов и минут будут показывать электронные часы в этот момент. Программа должна вывести два числа: количество часов (от 0 до 23) и количество минут (от 0 до 59). Учтите, что число n может быть больше, чем количество минут в сутках.

timer = int(input())
day = timer %  1440
hours = day // 60
minutes = day % 60
print(hours, minutes)

Теперь разберем построчно:

timer = int(input()) – ввод числа, функция int() говорит о том что вводимое число будет числом.

day = timer % 1440 – так как в условии задачи сказано что вводимое число может быть больше чем минут в сутках, надо сначала вычислить, а сколько суток вмещается в заданном числе. 24 часа в сутках * 60 = 1440 минут.
Оператор % делит число и присваивает остаток от деления переменной day. Этим действием мы отделили количество суток в заданном числе и оставили только оставшиеся минуты. Например: 1500 % 1440 = 60 потому что 1500 = 1440*1 + 60
Прошло меньше суток:1439 % 1440 = 1439 → ничего не меняется
Прошли ровно сутки: 1440 % 1440 = 0 → часы снова покажут 00:00

hours = day // 60 – этим действием считаем, сколько часов входит в полученные минуты. Делаем деление без остатка, получаем часы.

minutes = day % 60 – этим действием получаем остаток от минут. Т.е. отсекаем сколько часов входит в полученные минуты и получаем остаток от них, это и будут минуты.

print(hours, minutes) – ну и печатаем результат.

Самый короткий вариант решения

n = int(input())
print((n // 60) % 24, n % 60)

Но такой вариант не позволит проводить какие либо дальнейшие действия с результатами, так как данные не записаны в переменных.

Входные данные
Правильный ответ
1502 30
14410 1
4447 24
1803 0
143923 59
14400 0
20009 20
34569 36
567822 38
987620 36

Leave a Reply

Your email address will not be published. Required fields are marked *

*