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.
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 :
Lista de comentários
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 :