Laurentvidal.fr vous aide à trouver des réponses à toutes vos questions grâce à une communauté d'experts passionnés. Trouvez des solutions détaillées à vos questions grâce à une large gamme d'experts sur notre plateforme conviviale de questions-réponses. Rejoignez notre plateforme de questions-réponses pour vous connecter avec des experts dédiés à fournir des réponses précises à vos questions dans divers domaines.

Nsi : dictionnaire des antécédents

Un dictionnaire associe des valeurs à des clés, comme par exemple {"Paris": "P", "Lyon": "L", "Nantes": "N", "Lille": "L"} qui associe "p" à la clé "Paris". Suivant les cas, une même valeur peut être associée à une ou plusieurs clés. Dans l'exemple précédent, la valeur "L" est associée aux clés "Lyon" et "Lille". on les appelle les antécédents de "L", tandis que "p" a la clé "Paris" pour seul et unique antécédent. On peut ainsi construire le dictionnaire des antécédents {"P": ["Paris"], "L": ["Lyon", "Lille"], "N": ["Nantes"]}. Vous devez écrire une fonction antecedents de paramètre dico qui renvoie le dictionnaire associant les valeurs de dico à la liste de leurs antécédents dans dico.

Note: Puisqu'aucun ordre ne vous est imposé dans la construction des listes, une étape supplémentaire de tri est réalisée lors des tests de validation.

Créer la fonction :

def antecedents(dico) :​

Sagot :

caylus

Réponse :

Bonjour,

Explications :

Avec un bonus de lecture de cvs

View image caylus
View image caylus

Bonjour, j'espère avoir été clair dans mes explications. Tu peux toujours poser des questions en commentaire, j'y répondrai. Passe une bonne journée.

Explications :

Avant de coder, on va expliquer comment on va faire (on fait l'algorithme) :

1. On doit donc commencer par créer une variable qui va contenir notre dictionnaire final (appelons la result).

2. Ensuite on parcours un par un les éléments de dico à l'aide d'une boucle for. On regarde si la valeur de la clé de x-ième élément de dico est déjà présente dans result (exemple : on regarde si "P" est déjà présent dans result).

3. Si elle ne l'est pas alors on crée un nouvel élément dans result. Sa clé sera la valeur du x-ième élément de dico (dans l'exemple c'est "P"). Sa valeur sera une liste (entre crochets) contenant la clé de l'élément de dico (ici c'est "Paris", on aura donc dans result : "P" : ["Paris"] ).

4. Si elle l'est alors on ajoute la clé du x-ième élément de dico à la liste déjà créée (exemple : lorsque la boucle sera sur le dernier élément "Lille : "L" on ajoute "Lille" à l'élément "L" : ["Lyon"] déjà présent dans result, on aura donc finalement : "L" : ["Lyon", "Lille"]).

Voici donc le code final, on obtient bien le résultat attendu :

View image KataKatis
View image KataKatis