Bonjour,
j'ai besoin de l'aide sur l'exercice suivant. Mon code ne retourne pas le résultat attendu.
le voici l'énoncé de l'exercice:Le voici mon codeÉcrire une fonction words_by_length(fileName) qui prend en paramètre le nom, sous forme d’une chaîne de caractères, d’un fichier texte, et qui renvoie un dictionnaire associant à une longueur l la liste triée (dans l’ordre utf-8 croissant) des mots de longueur l présents dans le texte contenu dans le fichier. Ces mots seront écrits en minuscules.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 def words_by_length(fileName) : dico_inter = {} dico_sortie = {} with open(fileName, encoding="utf-8") as fichier : for ligne in fichier : for mot in ligne.split() : mot = mot.lower() if mot not in dico_inter : dico_inter[mot] = len(mot) list_len = list(dico_inter.values()) list_len = sorted(list_len) list_mot = list(dico_inter.keys()) list_mot = sorted(list_mot) for longueur in list_len : for mot2 in list_mot : if dico_inter[mot2]==longueur : if longueur not in dico_sortie : dico_sortie[longueur]=[mot2] elif mot2 not in dico_sortie[longueur] : dico_sortie[longueur].append(mot2) return dico_sortie
Partager