Loading [MathJax]/jax/output/CommonHTML/jax.js
Back
Close

Apprendre Python dans le secondaire

CarrDav.ous
21K views

Fréquence d'apparition d'une lettre dans un texte

Difficulté : Facile
Programme officiel

Le but de cette page est de créer un programme qui donne la fréquence de chaque lettre dans un texte. Une des applications est le décryptage de codages 'simples' comme celui de César par exemple. En effet, en français, le E apparait beaucoup plus souvent que les autres lettres donc si dans notre message codé par une méthode de César, c'est le W qui apparait le plus, on peut raisonnablement penser que le E est codé en W. Une analyse plus fine des fréquences permet de décoder d'autres lettres que le E.

Nombre d'occurrences d'une lettre dans un texte

Compléter la fonction compter(lettre,texte) suivante pour qu'elle donne le nombre de fois où la lettre se trouve dans le texte.

Remarque : Pour ne pas avoir à se soucier des majuscules ou minuscules, on a utilisé la fonction lower() pour mettre toutes les lettres du texte en minucules. De plus, dans les textes que nous allons considérer, il n'y aura aucun accent.

Nombre d'occurrences d'une lettre dans un texte

Liste des fréquences d'apparitions

Créer un fonction frequences(texte) qui prend en entrée un texte et renvoie la liste des fréquences de chaque lettre dans l'ordre alphabétique. Le texte ne contiendra aucun accent.

Exemple : frequences('abcb') va renvoyer [0.25, 0.5, 0.25, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

Bien sûr, on pourra copier-coller la fonction précédente pour l'utiliser.

Liste des fréquences d'apparitions

Visualisation

Copier-coller vos fonctions précédentes pour voir apparaitre le diagramme en bâtons des frequences d'apparition des lettres.

On remarquera de quelle façon on a mis les lettres en abscisses : On a donné comme X les nombres de 0 à 25 puis on a remplacé les étiquettes par les lettres en modifiant le paramètre tick_label.

Diagramme des fréquences d'apparitions

Prolongement possible :

Déterminer les fréquences d'apparitions des chiffres dans un nombre (Par exemple les premières millions de décimales de π ou de e). Pour cela, il faudra tout d'abord faire des recherches sur des façons efficaces de calculer ces nombres puis sur comment travailler avec un grand nombre de décimales en python. Rien de bien difficile.

Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.
Go to tech.io
codingame x discord
Join the CodinGame community on Discord to chat about puzzle contributions, challenges, streams, blog articles - all that good stuff!
JOIN US ON DISCORD
Online Participants