Examen 3 - 2023
Last updated
Last updated
Auteurs : Rémy Corriveau, adapté par Dalicia.
Veuillez noter que cet examen a été légèrement ajusté pour des raisons pratiques.
Boucles imbriquées.
Listes à deux dimensions.
Modules : utilisation de modules random et datetime.
Recherche dans la documentation officielle de Python.
2 heures.
Vous devez créer un programme Python pour gérer un échange de cadeau en milieu de travail. L’application devra permettre d’ajouter des participations à l’échange et, lorsque la personne administrant l’échange le jugera bon, il ou elle pourra générer la pige. Il doit être possible de voir qui a pigé qui ainsi que la liste de cadeaux si la date de déballage de cadeaux le permet.
Utiliser le programme fourni et le compléter.
Utiliser le format de la structure de données fournie dans le programme.
Créer plusieurs fonctions pertinentes avec passage de paramètres et valeurs de retour (lorsque nécessaire).
L’ajout d’une participation à l’échange de cadeaux requiert l’ajout du prénom, l’ajout de plusieurs cadeaux, ainsi que la date à partir de laquelle le déballage de ces cadeaux est permise. Cette date doit être entrée au format "JJ-MM-AA HH:MM".
Vous trouverez dans le programme fourni le format de la structure de données souhaitée.
Cette fonction est partiellement créée pour vous. Vous devez la compléter de façon à afficher les noms des participants de l’échange ainsi que leurs cadeaux et leurs dates de déballages. Un exemple d’affichage se trouve dans le Docstring de cette fonction et dans l’exemple d’exécution.
Le programme doit simuler la pige de cadeaux suivante :
Chaque participant (destinataire des cadeaux) doit mélanger un sac contenant les prénoms des autres participants écrits dans des bouts de papiers.
Une fois le mélange effectué, le destinataire des cadeaux choisit aléatoirement un papier du sac. Il recevra alors tous les cadeaux du participant qu’il a pigé.
Le nom du participant donateur du cadeau est mentionné (pour le ou la remercier) mais les cadeaux sont déballés uniquement si la date de déballage est arrivée.
Une personne reçoit tous les cadeaux d’un.e seul.e et unique participant.e qu’il ou elle a pigé.
Les cadeaux d’un.e participant.e (donateur) sont donnés à un.e seul.e et unique participant.e (destinataire).
Une personne ne peut pas s’offrir ses cadeaux à elle-même.
Les cadeaux reçus par une personne ne peuvent pas être déballés si la date de déballage n’est pas arrivée.
Créez le(s) test(s) unitaire(s) pour la fonction obtenir_prenoms_participants.
Plan de tests :
3 données de tests variées permettant de valider les bons résultats.
4 Cas limites et exceptions :
Vous devez inclure le test suivant : ([[123]], None).
Ajoutez 3 autres cas limites (incluant les exceptions).
Vérifications (assert) : 3 vérifications différentes et pertinentes.