voici mon probléme:
Ecrivez un programme qui lit un fichier texte et retourne le nombre d’apparitions des lettres de
l’alphabet, des voyelles, et le ratio entre la fr ́ quence des lettres et de voyelles.
Votre programme affichera pour chaque lettre de a a z et de A a Z, le nombre de fois o` la lettre apparaˆt dans le fichier lu.
On ne s’occupera pas du tout des caract` res accentu ́ s.
Vous utiliserez un dictionnaire pour stocker le nombre d’apparitions de chaque lettre.
De mˆ me, votre programme affichera le nombre de fois o` chaque voyelle de l’alphabet (a, e, i, o, u, y) apparaˆt, en minuscule et en majuscule. L` encore, on ne s’occupera pas du tout des caract` res accentu ́ s.
Enfin, votre programme affichera le ratio entre le nombre de voyelles et le nombre total de lettres, ind ́ pendamment
de la casse (minuscule/majuscule) On ne s’occupera toujours pas du tout des caract` res accentu ́ s.
A l’aide du module Turtle, faites une repr ́ sentation graphique du nombre d’apparition des voyelles sous forme d’un histogramme, avec les voyelles en abscisse et le nombre de leur apparition en ordon ́ e.
voici ce que j'ai fait :
Code :
- fichier = open('maddy1.txt', 'r')
- dico = {}
- for line in fichier:
- for caractere in line:
- if caractere not in dico:
- dico[caractere] = 1
- else:
- dico[caractere] += 1
- fichier.close()
- for caractere in dico:
- if caractere.isupper():
- case = 'majuscule'
- else:
- case = 'minuscule'
- print('Il y a {0} fois cette lettre en {1}'.format(dico[caractere], case))
- listevoyelles = [ "a", "e", "i", "o" "u" "y"]
- nbvoyelles = 0
- for caractere in line:
- if caractere in listevoyelles :
- nbvoyelles += 1
- if nbvoyelles == 0 :
- print "Il n’y a pas de voyelles dans le texte"
- elif nbvoyelles == 1 :
- print "Il y a une seule voyelle dans le texte"
- else :
- print "Le texte contient " + str(nbvoyelles) + " voyelles."
|
Mais ca ne fonctionne pas pour le compteurs des voyelles?
Et la j'ai plus d'idees