Ваша задача — написать программу, которая переводит число во время в читабельном виде.
Пользователь должен ввести число больше 0 и меньше 8639999.
Число необходимо перевести в день, часы, минуты и секунды.
Ну и дополнительной задачей является — забота о выводе.
Слово "день" подбирается на основе кол-ва дней, а часы, минуты и секунды должны заполняться
нулями при одноцифровых значениях.
Пример:
0 -> 0 дней, 00:00:00
224930 -> 2 дня, 14:28:50
466289 -> 5 дней, 09:31:29
8639999 -> 99 дней, 23:59:59
22493 -> 0 дней, 6:14:53
7948799 -> 91 день, 23:59:59
Ответы
Ответ:
Python Code:
# Без росписи по дням
timeConvert = lambda sec: f"{sec//60//60%24:02}:{sec//60%60:02}:{sec%60:02}" if sec>0 else '00:00:00'
Python Code:
# С росписью дней
def timeConvert(sec):
day = sec//60//60//24
if day % 10 == 1 and day % 100 != 11:
addit = ' день, '
elif 2 <= day % 10 <= 4 and (day % 100 < 10 or day % 100 >= 20):
addit = ' дня, '
else:
addit = ' дней, '
return str(day)+addit+(f'{sec//60//60%24:02}:{sec//60%60:02}:{sec%60:02}' if sec>0 else '00:00:00')
# Тесты с задания:
print(timeConvert(0)) # -> 00:00:00
print(timeConvert(224930)) # -> 14:28:50
print(timeConvert(466289)) # -> 09:31:29
print(timeConvert(8639999)) # -> 23:59:59
print(timeConvert(22493)) # -> 06:14:53
print(timeConvert(7948799)) # -> 23:59:59
Объяснение:
Функция - timeConvert: если sec>0 выполняются действия дальше, если меньше - выводит '00:00:00'. Сам расчёт времени выглядит как-то так:
Дни = Секунды // 60 // 60 // 24
Часы = Секунды // 60 // 60
Минуты = Секунды // 60
После "%" просто указано максимальное число, после ":" - количество символов.

print(timeConvert(int(input('Введите время в секундах: '))))