Pour réaliser certains des exercices ci-dessous, il faut télécharger le
fichier texte
dico.txt
qui contient environ 336 500 mots de la langue française,
avec un mot écrit (en minuscule et sans accent) par ligne ainsi que
le texte original et non accentué du
Petit
Chaperon Rouge écrit par Charles Perrault et libre de droit.
Placez le texte du « Petit Chaperon Rouge » dans le répertoire
courant.
Concevoir un programme qui lit le contenu de ce fichier et qui renvoie le
nombre d'occurences de chaque lettre contenue dans ce fichier, c'est-à-dire
le nombre de 'a'
, le nombre de
'b'
, le nombre de
'c'
, etc... Il ne faudra tenir compte
ni des espaces, ni de la ponctuation, ni des majuscules.
L'affichage final attendu sera :
Le texte contient :
551 a
55 b
130 c
219 d
1039 e
65 f
98 g
79 h
461 i
34 j
0 k
408 l
131 m
380 n
369 o
185 p
73 q
464 r
403 s
537 t
449 u
82 v
0 w
22 x
8 y
6 z
- Une piste
- Une autre piste
- Une solution
list('abcdefghijklmnopqrstuvwxyz')
est une instruction très intéressante pour ce programme...
Avoir un deuxième liste de stockage du nombre de chaque caractère semble
indispensable. Pour cela, l'instruction [0]*26
est utile...
##----- Ouverture des fichiers -----##
fsource = open('Petit_Chaperon_Rouge.txt', 'r')
##----- Variables et constantes -----##
liste = list('abcdefghijklmnopqrstuvwxyz')
resultats = [0]*26
##----- Programme principal -----##
for ligne in fsource:
for carac in ligne:
if carac in liste:
indice = liste.index(carac)
resultats[indice] += 1
print('Le texte contient :')
for i, x in enumerate(liste):
print(resultats[i], x)
fsource.close()