IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

blocage a la programmation!


Sujet :

Python

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 19
    Points : 3
    Points
    3
    Par défaut blocage a la programmation!
    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 :

  2. #2
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 19
    Points : 3
    Points
    3
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <s>
        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."</s>

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 19
    Points : 3
    Points
    3
    Par défaut
    j'ai 2 problemes :

    1) comment modifier : print('Il y a {0} fois cette lettre en {1}'.format(dico[caractere], case))
    par : il y a {0} (ici la lettre comptbalise) en {1}'.format(dico[caractere], case))

    2) mon compteur de voyelle est faux mais je n'arrive pas a trouver la solution.

    merci d'avance pour votre aide

  4. #4
    Membre expérimenté Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Points : 1 481
    Points
    1 481
    Par défaut
    blocage à la programmation ... et aussi aux rêgles des forums !

    Sans les avoir jamais lues (les rêgles) du début à la fin, relancer un thread en cours ouvrir une nouvelle discussion me semble "moyen"

    http://www.developpez.net/forums/d14...elp-programme/

    Edit : du coup, qu'est-ce qu'on fait ? on répond où ?
    "La simplicité ne précède pas la complexité, elle la suit." - Alan J. Perlis
    DVP ? Pensez aux cours et tutos, ainsi qu'à la FAQ !

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 19
    Points : 3
    Points
    3
    Par défaut
    dsl mais comme j'avais plus de reponse je pensais que personne voulait relire tous les message.

    je m en excuse, c'etait pour remettre à jour

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Citation Envoyé par Maddyou Voir le message
    j'ai 2 problemes :

    1) comment modifier : print('Il y a {0} fois cette lettre en {1}'.format(dico[caractere], case))
    par : il y a {0} (ici la lettre comptbalise) en {1}'.format(dico[caractere], case))
    De la même manière
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print('Il y a {0} {1} en {2}'.format(dico[caractere], caractere, case))
    2) mon compteur de voyelle est faux mais je n'arrive pas a trouver la solution.
    Comme je dis dans ton autre post, tu ne lis que la dernière ligne de ton fichier pour tes voyelles.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        for line in fichier:
            # Ici tu parcours toutes les lignes du fichier
     
        # Fin de la boucle, line est la dernière ligne du fichier
        listevoyelles = [ "a", "e", "i", "o" "u" "y"]
        nbvoyelles = 0
        for caractere in line:
            # Tu n'auras que le nombre de voyelles de la dernière ligne
    Solution, tu déplaces le comptage des voyelles dans la boucle for line in fichier:.

Discussions similaires

  1. Problème de blocage dans mon programme
    Par Shennong dans le forum VB.NET
    Réponses: 3
    Dernier message: 05/12/2014, 11h00
  2. Blocage de programme au demarrage
    Par noussibeau dans le forum Windows Vista
    Réponses: 8
    Dernier message: 09/11/2007, 10h08
  3. Réponses: 6
    Dernier message: 04/07/2006, 10h36
  4. blocage de programme
    Par zerocoolyoussef dans le forum Windows
    Réponses: 9
    Dernier message: 19/05/2006, 21h41
  5. [Thread] Blocage dans mon programme
    Par Xo Sonic oX dans le forum EDT/SwingWorker
    Réponses: 4
    Dernier message: 18/06/2005, 17h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo