Самый простой это с операций целочисленного деления разбить общее число секунд на часы, минуты, секунды. Далее собрать нужную строку из получившихся значений, преобразовывая в строки. Учитывая длины получившихся подстрок где надо добавляем 0 слева от начала подстроки.
n = int(input('Число секунд с начала суток: ')) h = n // 3600 n = n % 3600 m = n // 60 s = n % 60 sh = str(h) sm = str(m) if len(sm)<2: sm = "0"+sm ss = str(s) if len(ss)<2: ss = "0"+ss print(sh,':',sm,':',ss)
Тест №1 Число секунд с начала суток: 7200 2 : 00 : 00
Тест №2 Число секунд с начала суток: 75201 20 : 53 : 21
Var t, h, mm, ss: integer; ct, ch, cmm, css: string;
begin Write('Введите время в секундах от начала суток -> ');Readln(t); h := t div 3600; t := t mod 3600; mm := t div 60; ss := t mod 60; Str(h, ch); ct := ch + ':'; Str(mm, cmm); if Length(cmm) = 1 then ct := ct + '0' + cmm + ':' else ct := ct + cmm + ':'; Str(ss, css); if Length(css) = 1 then ct := ct + '0' + css else ct := ct + css; Writeln('Указано время ', ct) end.
Тестовое решение: Введите время в секундах от начала суток -> 27429 Указано время 7:37:09
n = int(input('Число секунд с начала суток: '))
h = n // 3600
n = n % 3600
m = n // 60
s = n % 60
sh = str(h)
sm = str(m)
if len(sm)<2:
sm = "0"+sm
ss = str(s)
if len(ss)<2:
ss = "0"+ss
print(sh,':',sm,':',ss)
Тест №1
Число секунд с начала суток: 7200
2 : 00 : 00
Тест №2
Число секунд с начала суток: 75201
20 : 53 : 21
t, h, mm, ss: integer;
ct, ch, cmm, css: string;
begin
Write('Введите время в секундах от начала суток -> ');Readln(t);
h := t div 3600;
t := t mod 3600;
mm := t div 60;
ss := t mod 60;
Str(h, ch);
ct := ch + ':';
Str(mm, cmm);
if Length(cmm) = 1 then ct := ct + '0' + cmm + ':' else ct := ct + cmm + ':';
Str(ss, css);
if Length(css) = 1 then ct := ct + '0' + css else ct := ct + css;
Writeln('Указано время ', ct)
end.
Тестовое решение:
Введите время в секундах от начала суток -> 27429
Указано время 7:37:09