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:
É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.
Le voici mon code
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