Aller au contenu

Jour 2 🎊🦊🎉 : Planification des activités

Maintenant que les invitations sont gérées, il faut planifier les activités de la soirée. Chaque activité a une durée et certaines ont des contraintes d'horaires.

Marc veut optimiser le planning pour que la soirée soit parfaitement organisée.

Informations nécessaires

On considère : - Une activité est représentée par un dictionnaire contenant : - nom (str) - duree_minutes (int) - heure_debut (str) au format "HH:MM" - obligatoire (bool)

activites = [
    {"nom": "Accueil des invités", "duree_minutes": 30, "heure_debut": "19:00", "obligatoire": True},
    {"nom": "Apéritif", "duree_minutes": 60, "heure_debut": "19:30", "obligatoire": True},
    {"nom": "Dîner", "duree_minutes": 90, "heure_debut": "20:30", "obligatoire": True},
    {"nom": "Jeux de société", "duree_minutes": 45, "heure_debut": "22:00", "obligatoire": False},
    {"nom": "Karaoké", "duree_minutes": 60, "heure_debut": "22:45", "obligatoire": False},
    {"nom": "Compte à rebours", "duree_minutes": 15, "heure_debut": "23:45", "obligatoire": True},
    {"nom": "Feux d'artifice", "duree_minutes": 20, "heure_debut": "00:00", "obligatoire": True},
    {"nom": "Rangement", "duree_minutes": 30, "heure_debut": "00:20", "obligatoire": False}
]

Exercice Principal

Durée totale des activités obligatoires

Écrire une fonction duree_activites_obligatoires qui prend en paramètre une liste d'activités et renvoie la durée totale en minutes des activités obligatoires.

La fonction doit additionner les durées des activités dont le champ 'obligatoire' est True.

Convertir heure en minutes

Écrire une fonction heure_en_minutes qui prend en paramètre une chaîne au format "HH:MM" et renvoie le nombre de minutes depuis minuit.

Exemple : "19:30" doit renvoyer 1960 + 30 = 1170 minutes.*

Activité la plus longue

Écrire une fonction activite_plus_longue qui prend en paramètre une liste d'activités et renvoie le nom de l'activité qui dure le plus longtemps.

En cas d'égalité, renvoyer la première activité trouvée.

Pour valider cet exercice, vous devrez rendre à votre enseignant les trois fonctions ainsi qu'un exemple d'utilisation avec la liste d'activités fournie.