Exercice 61
Écrire un algorithme Python sous forme de fonction qui détermine la liste de tous les caractères d'occurrence maximum dans une variable du type chaîne de caractères passée en paramètre.
Exemple: si s = "Programming", l'algorithme renvoie la liste: ['r', 'g', 'm']
Solution
Idée de solution
On va créer un programme python qui parcourt la chaîne et on utilise un dictionnaire pour stocker le nombre d'occurrences de chaque caractère. Ensuite, on recherche le nombre maximal d'occurrences d'un caractère dans le dictionnaire, et on ajoute chaque caractère ayant ce nombre maximal d'occurrences à la liste de résultats.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
def max_occurrence(s): # On commence par initialiser un dictionnaire pour stock occ_counts = dict({}) for c in s: if c in occ_counts: occ_counts[c] += 1 else: occ_counts[c] = 1 # On recherche ensuite le nombre maximal d'occurrences d'un caractère dans la chaîne max_count = max(occ_counts.values()) # On ajoute chaque caractère ayant un nombre d'occurrences é result = [] for c, count in occ_counts.items(): if count == max_count: result.append(c) return result s = "Programming" print(max_occurrence(s)) # ['r', 'g', 'm'] |
Younes Derfoufi
CRMEF OUJDA
1 thought on “Solution Exercice 61: liste des caractères d'occurences maximum dans une chaine en python”