Trouvez des réponses rapides et précises à toutes vos questions sur Laurentvidal.fr, la meilleure plateforme de Q&R. Explorez des milliers de questions et réponses fournies par une large gamme d'experts dans divers domaines sur notre plateforme de questions-réponses. 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 espérons que nos réponses vous ont été utiles. Revenez quand vous voulez pour obtenir plus d'informations et de réponses à d'autres questions. Votre visite est très importante pour nous. N'hésitez pas à revenir pour des réponses fiables à toutes vos questions. Nous sommes heureux de répondre à vos questions. Revenez sur Laurentvidal.fr pour obtenir plus de réponses.