Uncle Den's Uncle Den's

Histogramme

Il est interessant de connaitre l'histogramme d'apparition des lettre, notamment la lettre "e" qui est facilement identifiable dans un texte français (excepté dans La disparition de Georges Perec )

Exemples d'histogramme (site  http://www.nymphomath.ch) :

histogramme texte francais
 Analyse des fréquences en français
histogramme de texte en anglais
  Analyse des fréquences en anglais
L'analyse des fréquences


On ne traitera pas ici de l'apparition des doublets qui peut s'avérer également trés utile (page : http://www.nymphomath.ch/crypto/stat/francais.html)

On trace ici et de manière textuelle l'histogramme du texte à l'horizontal
source=open(u'etranger04_sans_espace.txt',"r")
txt=""
i=0
texte=source.read()
texte=texte.lower()
print(len(texte))
car=(("a"),
     ("b"),
     ("c"),
     ("d"),
     ("e"),
     ("f"),
     ("g"),
     ("h"),
     ("i"),
     ("j"),
     ("k"),
     ("l"),
     ("m"),
     ("n"),
     ("o"),
     ("p"),
     ("q"),
     ("r"),
     ("s"),
     ("t"),
     ("u"),
     ("v"),
     ("w"),
     ("x"),
     ("y"),
     ("z"))
l=len(car)
print(l)
nb=[0]*l
max=0
somme=0
for i in range(l):
    nb[i]=texte.count(car[i])
    somme+=nb[i]
    if max<nb[i]:
        max=nb[i]
print("")       
for i in range(l):
    print(car[i]+" "+int(100*nb[i]/max)*"=")
print("")
for i in range(l):
    print(car[i]+" "+str(100.0*nb[i]/somme)[0:5]+" %")
print("")
source.close()

Ainsi, le traitement de L'étranger de Camus nous donne ces fréquences d'apparition (%)

a 9,738
b 0,721
c 2,88
d 3,417
e 16,85
f 0,8
g 0,772
h 0,671
i 8,221
j 1,331
k 0,004
l 5,494
m 3,685
n 6,336
o 4,946
p 2,644
q 1,322
r 6,19
s 7,763
t 7,172
u 6,532
v 1,796
w 0,005
x 0,31
y 0,276
z 0,109
histogramme l'étranger de Camus


>> Code de César
<< retour accueil cryptographie et Python