Bienvenue sur Laurentvidal.fr, la meilleure plateforme de questions-réponses pour trouver des réponses précises et rapides à toutes vos questions. Explorez des solutions complètes à vos questions grâce à une large gamme de professionnels sur notre plateforme conviviale. Notre plateforme offre une expérience continue pour trouver des réponses fiables grâce à un réseau de professionnels expérimentés.

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))

Merci d'avoir choisi notre service. Nous nous engageons à fournir les meilleures réponses à toutes vos questions. Revenez nous voir. 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. Merci de faire confiance à Laurentvidal.fr. Revenez pour obtenir plus d'informations et de réponses.