Sagot :
Réponse :
# Définir le maximum de chaque valeur temps à l'unité.
maxSecondes = 59
maxMinutes = 59
maxHeures = 23
# Définir le minimum de chaque valeur temps à l'unité.
minSecondes = 0
minMinutes = 0
minHeures = 0
minJours = 0
# Initialisation des variables de stockage.
varTotal = []
var1 = []
var2 = []
varResultats = []
# Inititalisation des jours.
J1 = 0
J2 = 0
# Initialisation des variables de stockage des valeurs durant le calcul.
varCalcSecondes = 0
varCalcMinutes = 0
varCalcHeures = 0
varCalcJours = 0
# Définition d'une fonction.
def calculTemps(H1, M1, S1, H2, M2, S2):
# Vérification des secondes
if S1 > maxSecondes or S2 > maxSecondes:
return "Les secondes ne doivent pas dépasser 59."
if S1 < minSecondes or S2 < minSecondes:
return "Les secondes doivent rester positives."
# Vérification des minutes
if M1 > maxMinutes or M2 > maxMinutes:
return "Les minutes ne doivent pas dépasser 59."
if M1 < minMinutes or M2 < minMinutes:
return "Les minutes doivent rester positives."
# Vérification des heures
if H1 > maxHeures or H2 > maxHeures:
return "Les heures ne doivent pas dépasser 23."
if H1 < minHeures or H2 < minHeures:
return "Les heures doivent rester positives."
# Vérification des jours
if J1 < minJours or J2 < minJours:
return "Erreur: Calcul non recevable [erreur jours]."
var1.append(0) # Jours
var1.append(H1) # Heures
var1.append(M1) # Minutes
var1.append(S1) # Secondes
var2.append(0) # Jours
var2.append(H2) # Heures
var2.append(M2) # Minutes
var2.append(S2) # Secondes
varTotal.append(var1)
varTotal.append(var2)
# Préparations des calculs.
varCalcSecondes = varTotal[0][3] + varTotal[1][3]
varCalcMinutes = varTotal[0][2] + varTotal[1][2]
varCalcHeures = varTotal[0][1] + varTotal[1][1]
varCalcJours = 0
varResultats.append(varCalcJours)
varResultats.append(varCalcHeures)
varResultats.append(varCalcMinutes)
varResultats.append(varCalcSecondes)
# Boucle de correction des secondes.
while varCalcSecondes > maxSecondes:
varCalcMinutes = varCalcMinutes + 1
varCalcSecondes = varCalcSecondes - maxSecondes
print("- 59 sec")
print(varCalcSecondes)
# Boucle de correction des secondes.
while varCalcMinutes > maxMinutes:
varCalcHeures = varCalcHeures + 1
varCalcMinutes = varCalcMinutes - maxMinutes
print("- 59 min")
print(varCalcMinutes)
# Boucle de correction des secondes.
while varCalcHeures > maxHeures:
varCalcJours = varCalcJours + 1
varCalcHeures = varCalcHeures - maxHeures
print("- 23 heures")
print(varCalcHeures)
# Réinitialisation des valeurs résultats.
varResultats.clear()
varResultats.append(varCalcJours)
varResultats.append(varCalcHeures)
varResultats.append(varCalcMinutes)
varResultats.append(varCalcSecondes)
print(varResultats)
J'espère que le programme fonctionnera, avec mes tests oui, je te conseille de tester également, bonne journée !