Exercice 4: Question 1: comme on ne sait pas dans quel ordre on va recevoir les éléments du résultat, on utilise sorted sur le dictionnaire renvoyé. Ceci garantira que les résultats corrects ne sont pas identifiés comme faux. Pour créez vos doctests, changez simplement la valeur de la chaîne. >>> sorted(freq_chaine("abbabba!").items()) [('!', 1), ('a', 3), ('b', 4)] >>> sorted(freq_chaine("bonjour, merci, et au revoir").items()) [(' ', 4), (',', 2), ('a', 1), ('b', 1), ('c', 1), ('e', 3), ('i', 2), ('j', 1), ('m', 1), ('n', 1), ('o', 3), ('r', 4), ('t', 1), ('u', 2), ('v', 1)] Question 2: >>> max_dic({'a': 3, 'b' : 15 , 'c' : 0, 'd' : 10}) 'b' Question 3: >>> tri_cles({'a': 3, 'b' : 5 , 'c' : 0, 'd' : 10}) ['d', 'b', 'a', 'c'] Exercice 6: les appels à sorted se justifient comme ce qu'on a vu plus haut. Ici, on demande de trier les clés du dictionnaire, et également de transformer les valeurs en listes triées (map et lambda seront expliqués plus tard dans le cours). Pour créez vos doctests, changez simplement la valeur du dictionnaire en entrée. >>> sorted(map(lambda pair: (pair[0], sorted(pair[1])), compression({'t': 3, 'e': 2, 'd': 2, 'b': 1, 's': 0, 'c': 1, 'a': 1}).items())) [(0, ['s']), (1, ['a', 'b', 'c']), (2, ['d', 'e']), (3, ['t'])]