👤

Bonjour , je voudrais de l'aide sur un exercice en python que je ne comprends pas svp
Pg : soit la fonction seconde prenant en paramètres h,m et s et renvoyant la correspondance en seconde.

def seconde(h,m,s) :
return h*3600+m*60+s
seconde(3,21,37)

1)définir la fonction décomposition qui prend en paramètre le nombre de seconde et qui retourne le tuple (h,m,s)

2)vérifier avec le résultat trouvé pour la question 1)

3)Lors d’une manifestation 1)Enregistrer puis lancer l’exécution de ce programme

4) Comment modifier le programme pour que l’utilisateur propose les heures, les minutes et les secondes.
sportive ,les coureurs ,étant trop nombreux , doivent partir à différentes heures .Connaissant leur heure de départ et d’arrivée , on aimerait connaitre le temps qu’ils ont mis pour réaliser cette course
Les horaires de départ sont données par le dictionnaire suivant :
depart={"jean" : (12,32,24) ," paul" : (13,10,7)," delphine" : (12,45,11)}
Les horaires d’arrivée sont données par le dictionnaire suivant :
arrivee={"jean" : (12,58,14) ," paul" : (13,32,5)," delphine" : (13,3,42)}
Réaliser le programme demandé en utilisant les fonctions précédentes
merci de votre aide


Répondre :

Donc la fonction seconde qui existe déjà et est parfaite, mais ne faudrait-il pas afficher le résultant quand on fait appel à la fonction ?

1)

Le résultat final doit être en seconde.

L'argument (ou paramètre) "h" est le nombre d'heures.

L'argument (ou paramètre) "m" est le nombre minutes.

L'argument (ou paramètre) "s" est le nombre secondes.

En exécutant: seconde(3, 21, 37), on veut convertir 3heures, 21minutes et 37 secondes en secondes.

On sait que 3600 secondes c'est une heure, et 60 secondes, c'est une minute (Et si on le sait pas, bah on peut faire le calcul ou chercher sur internet)

donc on va multiplié le nombre d'heures par 3600 pour savoir combien de secondes fait h heures.

De même pour le nombre de minutes, mais on va multiplié par 60 pour connaitre m minutes.

Les secondes n'ont pas besoin d'être converti en seconde, vue que c'est déjà des secondes.

Pour conclure, on va additionner le nombre h d'heures en secondes +  le nombre m de minutes en secondes + le nombre s de secondes.

D'où le code suivant:  

def seconde(h,m,s):

  return h*3600+m*60+s

print(seconde(3, 21, 37))  

(J'ai rajouter print car c'est quand même bien de pouvoir lire le résultat ^^)

2)  

3 * 3600 + 21 * 60 + 37 = 12097.

La fonction devrait retouner exactement le même résultat.

3) ----- Pas sur d'avoir compris , mais j'hésiterais à edit si j'y vois plus clair.

4) Petite démo sur image

def seconde(h,m,s) :

   return h*3600+m*60+s

seconde(3,21,37)

depart ={"jean" : (12,32,24) ," paul" : (13,10,7)," delphine" : (12,45,11)}

arrivee={"jean" : (12,58,14) ," paul" : (13,32,5)," delphine" : (13,3,42)}

for coureur, temps in depart.items():

   if coureur in arrivee:

       tempsarrivee = seconde(arrivee[coureur][0], arrivee[coureur][1], arrivee[coureur][2]) - seconde(temps[0], temps[1], temps[2])

       print(" Le coureur", coureur," est arrivé en ",tempsarrivee,"secondes")

   else:

       print("Oula, on a pas le temps d'arrivée du coureur", coureur, ", est-il arrivé ?")

Voir l'image SMARTMIND
Merci d'avoir visité notre site Web, qui traite d'environ Informatique. Nous espérons que les informations partagées vous ont été utiles. N'hésitez pas à nous contacter pour toute question ou demande d'assistance. À bientôt, et pensez à ajouter ce site à vos favoris !


Viz Asking: D'autres questions