Bonjour, j'ai besoin d'aide. Pour de la NSI Le sujet: Écrivez une fonction duree qui prend deux paramètres debut et fin. Ces derniers sont des couples dont la p
Informatique
mxxndgd
Question
Bonjour, j'ai besoin d'aide. Pour de la NSI
Le sujet:
Écrivez une fonction duree qui prend deux paramètres debut et fin. Ces derniers sont des couples dont la première composante représente une heure et la seconde composante représente les minutes. Cette fonction doit calculer le nombre d’heures et de minutes qu’il faut pour passer de debut à fin.
Exemple: un appel à durée ((14, 39), (18, 45)) renvoie (4, 6). Notez qu’un appel à durée ((6, 0), (5, 15)) renvoie(23, 15) et non (0, 45) !
Le sujet:
Écrivez une fonction duree qui prend deux paramètres debut et fin. Ces derniers sont des couples dont la première composante représente une heure et la seconde composante représente les minutes. Cette fonction doit calculer le nombre d’heures et de minutes qu’il faut pour passer de debut à fin.
Exemple: un appel à durée ((14, 39), (18, 45)) renvoie (4, 6). Notez qu’un appel à durée ((6, 0), (5, 15)) renvoie(23, 15) et non (0, 45) !
1 Réponse
-
1. Réponse pythonic
Réponse :
#!/usr/bin/python
from datetime import datetime
[A,B,C,D]=[-1,-1,-1,-1]
while (int(A)<0 or int(A)>24):
A=input( "heure1 ")
while (int(B)<0 or int(B)>60):
B=input( "minute1 ")
while (int(C)<0 or int(C)>24):
C=input( "heure2 ")
while (int(D)<0 or int(D)>60):
D=input( "minute2 ")
print( datetime.strptime(str(C)+" "+str(D) , '%H %M')-datetime.strptime(str(A)+" "+str(B) , '%H %M'))
Explications :
python ./heure.py
heure1 6
minute1 0
heure2 5
minute2 15
Vous voulez donc savoir l'intervalle entre 6 H 0 m et 5 h 15 m
-1 day, 23:15:00
Il faudrai ne pas extraire le nombre de jour de delta