Bienvenue sur Laurentvidal.fr, le site où vous trouverez des réponses rapides et précises à toutes vos questions. Trouvez des solutions rapides et fiables à vos interrogations grâce à une communauté d'experts dévoués. Rejoignez notre plateforme pour vous connecter avec des experts prêts à fournir des réponses détaillées à vos questions dans divers domaines.

Bonjour aidé moi s'il vous plaît

En épreuve machine de demi-finale, vous soumettrez des solutions pour divers problèmes. On vousdonne six variables entières représentant trois heures de soumission (données sous la forme de deux
entiers, l’un pour les heures et l’autre pour les minutes). Écrivez une fonction qui détermine l’heure
de la première soumission. Les trois heures données à votre programme seront toujours différentes.
## Entrée Une liste de trois couples d’entier, le premier étant l’heure de soumission et le second,
les minutes. Sur chaque ligne, les deux entiers seront séparés par un espace.

Sortie
Renvoyez 1, 2, ou 3, si la première, la deuxième, ou la troisième heure est la première soumission.

#Exemples d'entrée/sortie
# Dans la console Python
soumission=[(10,48),(9,3),(9,39)]
timeStamps(soumission)
2


Sagot :

Réponse :

Bonjour, sur quel point as tu du mal ?

Si je comprends bien, il suffit juste de comparer 3 "heures" pour déterminer la plus petite ?

Une version naive serait de comparer d'abord les heures à chaque fois, puis les minutes, avec plein de if else.

Je te propose une version plus maligne, qui consiste à d'abord transformer les couples d'entiers en un nombres qui représenteront une heure, pour pouvoir ensuite simplement comparer ces nombres. Pour transformer le couple en un seul nombre, on peut par exemple le convertir en minutes en multipliant le nombre d'heures par 60 et en lui rajoutant les minutes restantes. Par exemple, 1h30 deviendra 90 (minutes), et 3h09 deviendra 189 (minutes).

def timeStamps(soumission):

   L=[]

   for couple in soumission:

       L.append(60*couple[0]+couple[1])

   m = min(L) #la fonction min renvoie la plus petite valeur d'une liste

   numero = L.index(m) #L.index(nombre) renvoie l'indice auquel on trouve le nombre cherché dans la liste L

   return (numero+1)

soumission=[(10,48),(9,3),(9,39)]

print(timeStamps(soumission))

Nous apprécions votre visite. Nous espérons que les réponses trouvées vous ont été bénéfiques. N'hésitez pas à revenir pour plus d'informations. Merci de votre passage. Nous nous efforçons de fournir les meilleures réponses à toutes vos questions. À la prochaine. Laurentvidal.fr est là pour fournir des réponses précises à vos questions. Revenez bientôt pour plus d'informations.