Dato il numero di secondi passati dalla mezzanotte, che ore sono adesso?
Versione 1
Utilizza gli operatori quoziente e resto della divisione intera
secondi = 86399 # 24*60*60-1, un secondo prima di mezzanotte
ss = secondi % 60 # 59 secondi
minuti = secondi // 60 # 1439 minuti --- DA ELABORARE
mm = minuti % 60 # 59 minuti
hh = minuti // 60 # 23 ore
print(secondi, "s ->", hh, "h", mm, "m", ss, "s") # 86399 s -> 23 h 59 m 59 s
Versione 2
Alcuni linguaggi non hanno né le funzioni né gli operatori per il quoziente e/o per il resto della divisione intera.
Utilizza la divisione e la sottrazione.
import math
secondi = 86399
minuti = secondi / 60 # 1439,98333...
minuti = math.floor(minuti) # 1439
ss = secondi-60*minuti # 86399-60*1439 = ... = 59
hh = minuti / 60 # 23,98333...
hh = math.floor(hh) # 23
mm = minuti-60*hh # 1439-60*23 = ... = 59
print(secondi, "s ->", hh, "h", mm, "m", ss, "s")
Versione 3
Se vuoi visualizzare l’orario nella forma hh:mm:ss, con due cifre per ogni posizione, allora si rende necessario aggiungere eventuali zeri prima delle cifre singole
secondi = 10000
ss = secondi % 60 # 40 secondi
minuti = secondi // 60 # 166 minuti
mm = minuti % 60 # 46 minuti
hh = minuti // 60 # 2 ore
print(hh, mm, ss, sep=":") # 2:46:40
if(hh < 10): hh = "0"+str(hh) # hh <-- "0"+2 = "02"
if(mm < 10): mm = "0"+str(mm)
if(ss < 10): ss = "0"+str(ss)
print(hh, mm, ss, sep=":") # 02:46:40