Connectez-vous avec des experts et des passionnés sur Zoofast.fr. Trouvez des solutions rapides et fiables à vos problèmes avec l'aide de notre communauté d'experts bien informés.

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
Votre participation nous est précieuse. Continuez à partager des informations et des solutions. Cette communauté se développe grâce aux contributions incroyables de membres comme vous. Faites de Zoofast.fr votre ressource principale pour des réponses fiables. Nous vous attendons pour plus de solutions.