help programmation

help programmation - Python - Programmation

Marsh Posté le 20-12-2013 à 18:16:35    

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 :
  1. fichier = open('maddy1.txt', 'r')
  2. dico = {}
  3. for line in fichier:
  4.     for caractere in line:
  5.         if caractere not in dico:
  6.             dico[caractere] = 1
  7.         else:
  8.             dico[caractere] += 1
  9. fichier.close()
  10. for caractere in dico:
  11.     if caractere.isupper():
  12.         case = 'majuscule'
  13.     else:
  14.         case = 'minuscule'
  15.     print('Il y a {0} fois cette lettre en {1}'.format(dico[caractere], case))
  16. listevoyelles = [ "a", "e", "i", "o" "u" "y"]
  17. nbvoyelles = 0
  18. for caractere in line:
  19.         if caractere in listevoyelles :
  20.                 nbvoyelles += 1
  21. if   nbvoyelles == 0 :
  22.         print "Il n’y a pas de voyelles dans le texte"
  23.     elif  nbvoyelles == 1 :
  24.         print "Il y a une seule voyelle dans le texte"
  25.     else :
  26.         print "Le texte contient " + str(nbvoyelles) + " voyelles."


 
Mais ca ne fonctionne pas pour le compteurs des voyelles?
Et la j'ai plus d'idees

Reply

Marsh Posté le 20-12-2013 à 18:16:35   

Reply

Marsh Posté le 28-12-2013 à 15:18:56    

Normal, ta boucle ligne 21 utilise la variable "line" qui est une variable "implicite" définie ligne 4.

 

ligne 3 met: lignes = fichier.readlines() (ou xreadlines en python 3)

 

après
-ligne 4 tu remplaces "fichier" par "lignes"
-ligne 21 tu remplaces "line" par "lignes"


Message édité par philippe06 le 28-12-2013 à 15:22:19

---------------
Aimer les femmes intelligentes est un plaisir de pédéraste. (Charles Baudelaire) - Vous vulgarisez :o (Jean-Kevin Dubois)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed