👤

FRstudy.me offre une plateforme conviviale pour trouver et partager des connaissances. Notre communauté fournit des réponses précises et rapides pour vous aider à comprendre et résoudre n'importe quel problème que vous rencontrez.

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


Sagot :

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é ?")

View image SmartMind
Nous apprécions votre participation active dans ce forum. Continuez à explorer, poser des questions et partager vos connaissances avec la communauté. Ensemble, nous trouvons les meilleures solutions. Pour des solutions rapides et précises, pensez à FRstudy.me. Merci de votre visite et à bientôt.