Information

Deadline 27/08/2025 17:00:00
Submission limit No limitation

Sign in

[Q3] Cupidon

Pour trouver ses prochaines cibles, Cupidon a décidé de suivre le célèbre dicton "qui se ressemble, s'assemble". Pour l'aider à trouver sa prochaine cible, on vous fournit un dictionnaire associant à chaque personne sa taille (en centimètres), comme illustré ci-dessous. Votre travail, pour l'aider, est d'écrire une fonction trouver_paire_plus_proche(personnes) qui retourne un tuple contenant les noms des deux personnes ayant les tailles les plus proches, c’est-à-dire dont la différence absolue de taille est minimale. L’ordre des noms dans le tuple retourné n’a pas d’importance.

personnes = {
    "Alice": 165,
    "Bob": 172,
    "Charlie": 188,
    "Diana": 163,
    "Eve": 171
}

Exemple :

trouver_paire_plus_proche(personnes)
# retourne ('Bob', 'Eve') ou ('Eve', 'Bob')

Puisque Bob mesure 172 cm et Eve 171 cm, la différence est de 1 cm, ce qui est la plus petite parmi toutes les paires possibles.

Vous pouvez supposer que :

  • tous les noms sont des chaînes de caractères différentes,
  • toutes les tailles sont des entiers entre 0 et 300,
  • il existe exactement une paire de personnes dans le dictionnaire avec la différence minimale,
  • le dictionnaire contient au moins deux personnes.

Question 1: Trouver la paire la plus proche

Écrivez le corps de la fonction trouver_paire_plus_proche ci-dessous :

Question 2: Zone de test

Insérez votre code de test optionnel ci-dessous. Vous pouvez utiliser assert et print pour tester votre programme. Votre code de test sera exécuté à la suite de la définition de votre fonction (il ne faut pas la recopier ici). Ce code test sera ignoré lors de l'évaluation. Il vous sert seulement à tester votre propre code.

Exemple: