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 :

Occurrences des lettres


Sujet :

Python

  1. #1
    Membre averti
    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
    Par défaut Occurrences des lettres
    Bonjour,

    Je suis débutante en programmation et j ai un problème.
    C'est un programme qui lit un fichier texte et nous donne le nombre de fois ou la lettre apparaît en mini et majuscule, les stoker sous un dico. Ainsi que le nombre de fois ou la voyelle est utilisé en min et maj et le ratio entre voyelle et alphabet.

    Voilà ce que j ai fais :

    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
    string=input ( "veuillez entrer une chaîne de caractère: ") 
    letters=dico ([(1;0) for 1 in "abcdefghijklmnopqrstwxyz" ]) 
    voyelle=["aeiouy"]
    for 1 in string:
           print ch.count letters
              if 1 in upper:
                    print ch.count upper letters 
              if 1 in lower : 
                    print ch.count lower letters 
     
    for string in voyelle :
         print ch.count voyelle 
            if voyelle in upper 
                print ch.count voyelle upper 
          elif 
               Print ch.count voyelle lower 
     
    def ratio string :
          Return (voyelle/ letters )*100 
          print (" "%)

    Je m'excuse d avance pour les énormes erreurs que j'ai faites

    Merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 180
    Par défaut
    Bonjour,

    Quelque remarque a formuler. Tout d'abord il faudrait placer entre les balises
    prévues à cet effet (le bouton #). Non seulement c'est beaucoup plus lisible, mais surtout python est sensible à l'indentation du code. Ensuite, Python est sensible à la casse (Minuscules/majuscules) Return n'est pas return. Un nom de variable doit obligatoirement commencer par une lettre ou par un trait de soulignement. 1 n'est pas un nom de variable valide. Pour créer un dictionnaire
    à partir d'une liste comme tu veux le faire, il faut utiliser la fonction dict et nom
    dico. Il faut séparer les arguments de la commande print par des virgules.

    Bref, cela ne ferait pas de mal que tu suive un bon tuto python. Il y a plein
    de liens sur ce site.

    Surtout ne te décourage pas. Quand tu demande de l'aide, essaie de venir avec une description précise du problème que tu rencontre. Un copier/coller
    du message d'erreur est souvent le bienvenu.

  3. #3
    Membre averti
    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
    Par défaut
    Merci pour la réponse.

    Je n'ai pas encore testé le programme je savais qu il y avait beaucoup d 'erreurs. J' avais besoin de piste pour arranger mon programme.

    Pensez vous qu'il est totalement faux ou il y as de l'idée?

    Merci encore pour la réponse

  4. #4
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Bonjour,
    En premier, suivre les conseils de chticricri! :-)

    Ensuite, le shell interactif de Python permet justement de faire des essais très rapides permettant de vérifier le fonctionnement de différentes parties du code!!!

    Par contre, l'utilisation de la "fonction" "ratio string" n'est absolument pas adéquate. Un nom de fonction (comme pour les variables) ne peut contenir d'espace. Enfin, une fonction se déclare avant d'être appelée (et il faut l'appeler!!!).

    Sinon, oui, il y a de "l'idée". Mais cela n'empêche qu'il faut faire des tests. Ce n'est ni compliqué, ni long de tester les parties de ce script dans le shell interactif de Python!!

    Et ainsi que le souligne chticricri, un petit tuto serait, peut-être, bienvenu!!

    Clodion

  5. #5
    Membre averti
    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
    Par défaut
    bonjour,

    J'ai ecouter vos conseils,j'ai lu et appliquer les exercices des tutoriels merci .

    Je vais realisé mon programme par étape.

    J'ai deja des erreurs que je ne comprends pas


    #!/bin/python

    filin = open("fichier.txt", 'r')
    fichier.txt = filin readlines ()
    letters = dict([l:0) for l in "abcdefghojklmnopqrstuvwxyz"

    for l in fichier.txt:
    fichier.txt.count(letters)
    if l = upper:
    fichier.txt.count(letters)
    print "Il y a () fois cette lettre en majuscule",
    elif:
    fichier.txt.count = lower
    print "Il y a () fois cette lettre en miniscule",


    Et l'erreur est :
    ile "alpha.py", line 5
    fichier.txt = filin readlines ()
    ^
    SyntaxError: invalid syntax

    quelqu'un a t'il compris mon erreur?

    merci

  6. #6
    Membre averti
    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
    Par défaut
    j'ai bien sur mis des tabulation qui s'efface des que j'envoie ma reponse

  7. #7
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Bonjour,
    En premier…
    SVP: utilisez la alise "#" en haut à droite de la fenêtre d'édition afin d'insérer votre code. Cela permet au lecteur de le reprendre et de le tester! Merci!!!

    Citation Envoyé par Maddyou Voir le message
    fichier.txt = filin readlines ()

    Et l'erreur est :
    ile "alpha.py", line 5
    fichier.txt = filin readlines ()
    ^
    SyntaxError: invalid syntax
    En Python, "readlines" n'existe pas en tant que tel. Ce "readlines()" est une méthode appliquée à un objet.
    Entre l'objet concerné et la méthode, il doit y avoir un point.

    D'autre part que voulez-vous faire en écrivant:
    fichier.txt = filin readlines ()

    Avant d'écrire ceci, demandez-vous ce que renvoie la méthode "readlines()"?
    Ici, "fichier.txt" est une variable (telle que vous l'employez). Or un nom de variable ne peut contenir de point.
    Ce nom de fichier n'a rien à faire ici!!!!!
    À gauche d'un signe "=" il ne peut y avoir qu'un nom de variable.

    Ici deux choses: le fichier sur le disque (dont le nom est fichier.txt) et un nom de variable à l'intérieur du script qui permet d'avoir accès au contenu de ce fichier.
    Ensuite viennent les différents traitements.

    D'autre part, dans votre script vous ouvrez le fichier sans jamais le refermer.

    En fait, vous ne semblez pas avoir compris le principe de la lecture d'un fichier…
    Je pense qu'il serait préférable que vous preniez un bon tuto en français ou que vous regardiez les pages du site python.org:
    http://docs.python.org/3/tutorial/inputoutput.html en particulier le paragraphe 7.2.1 qui vous donne des exemples et les explications qui vont avec!!

    Clodion

  8. #8
    Membre averti
    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
    Par défaut
    bonjour

    J'ai re essayer et modifier mais j'ai encore des erreurs

    #!/bin/python


    fichier = open("maddy.txt", 'w')
    fichier.write("dsovikojhfoiOIHPISDVAIOklsdjfvoOZISHDDSL")
    texte = fichier.readlines()
    letters = "abcdefghojklmnopqrstuvwxyz"

    for l in fichier.txt:
    nombre=texte.count(letters)
    if (l == upper) :
    maddy.txt.count(letters)
    print("Il y a "" fois cette lettre en majuscule")
    elif (maddy.txt.count == lower):

  9. #9
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Bonjour,

    Citation Envoyé par Maddyou Voir le message
    fichier = open("maddy.txt", 'w')
    fichier.write("dsovikojhfoiOIHPISDVAIOklsdjfvoOZISHDDSL")
    texte = fichier.readlines()
    Avant de faire d'autres essais, essayez de franchir les étapes une à une!!!
    Ici, vous ouvrez un fichier en mode écriture (toujours sans le refermer). Vous y écrivez une ligne. Puis vous essayez de le lire!!
    On ne peut pas faire les deux choses en même temps!!!

    Ici il faudrait que vous commenciez par comprendre comment on ouvre/ferme un fichier en lecture et en écriture!!!

    SVP: mettez votre code entre balises!!

    Clodion

    PS: essayez aussi d'inclure vos messages d'erreur (et bien entendu de les regarder attentivement afin d'essayer de les comprendre!!)

    PS2: vous repartez sur les mêmes erreurs que précédemment:
    Citation Envoyé par Maddyou Voir le message
    for l in fichier.txt:
    N'a aucun sens. Votre variable contenant le contenu du fichier n'est pas le nom du fichier disque!!!!!

  10. #10
    Membre émérite

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2010
    Messages : 662
    Par défaut
    Salut,

    A mon humble avis, vous n'êtes pas dans une demarche d'apprentissage. Clodion prend de son temps pour vous guider, mais vous n'écoutez qu'à moitié (la balise # toujours manquante), les tutos survolés..

    Pour commencer, il vous faut au minima comprendre ce que sont des variables, des fonctions, methodes... en somme la nature des objets que vous voulez manipuler. Oui c'est long. Si ce n'est pas ce que vous voulez, soyez plus claire et demandez le bout de code qui fera ce que vous souhaitez, peut -être que quelqu'un vous le fournira (meme si ce n'est pas le but de ce forum).

    Bon courage,

    Ju

  11. #11
    Membre averti
    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
    Par défaut
    si si je reflechis et cherche des infos un peu partout mais je suis novice et j'ai l'impression d'avoir un probleme de logique.

    #!/bin/python

    #nomfichier = 'maddy.txt'
    #fichier = open("nomfichier", 'w')
    #fichier.write('kugdfbuzufyvyszfOKIQDVSCIOQYSVdisg')
    #fichier.close()
    #fichier= open('maddy.txt' , 'r')
    #texte = fichier.readlines()
    #fichier.close()
    #letters = "abcdefghojklmnopqrstuvwxyz"

    #for letters in nomfichier :
    # nombre = texte.count(letters)
    # if letters == letters.upper():
    # nomfichier.count(letters)
    # print("Il y a "" fois cette lettre en majuscule"),
    # elif letters == letters.lower():
    # nomfichier.count(letters)
    # print ("Il y a "" fois cette lettre en miniscule"),
    #fichier.close()

    ca n'as pas du tout donner le programme que je recherchais

    merci encore pour vos reponses

  12. #12
    Membre averti
    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
    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
    #!/bin/python
     
    nomfichier = 'maddy.txt'
    fichier = open("nomfichier", 'w')
    fichier.write('kugdfbuzufyvyszfOKIQDVSCIOQYSVdisg')
    fichier.close()
    fichier= open('maddy.txt' , 'r')
    texte = fichier.readlines()
    fichier.close()
    letters = "abcdefghojklmnopqrstuvwxyz"
     
    for letters in nomfichier :
            nombre = texte.count(letters)
            if letters == letters.upper():
                    nomfichier.count(letters)
                    print("Il y a "" fois cette lettre en majuscule"),
            elif letters == letters.lower():
                    nomfichier.count(letters)
                    print ("Il y a "" fois cette lettre en miniscule"),
    fichier.close()

  13. #13
    Membre averti
    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
    Par défaut
    j'ai enfin compris comment l'utiliser dsl...

  14. #14
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Bonjour,

    Citation Envoyé par Maddyou Voir le message
    #!/bin/python

    #nomfichier = 'maddy.txt'
    #fichier = open("nomfichier", 'w')
    #fichier.write('kugdfbuzufyvyszfOKIQDVSCIOQYSVdisg')
    #fichier.close()
    #fichier= open('maddy.txt' , 'r')
    #texte = fichier.readlines()
    #fichier.close()
    #letters = "abcdefghojklmnopqrstuvwxyz"

    #for letters in nomfichier :
    # nombre = texte.count(letters)
    # if letters == letters.upper():
    # nomfichier.count(letters)
    # print("Il y a "" fois cette lettre en majuscule"),
    # elif letters == letters.lower():
    # nomfichier.count(letters)
    # print ("Il y a "" fois cette lettre en miniscule"),
    #fichier.close()
    Pour que le code soit lisible et utilisable, utilisez la balise "#": un bouton en haut à droite de la fenêtre d'édition (lorsque vous écrivez un message).

    Quand à votre code. D'où viennent les virgules à la fin des "print" de la structure "if"???
    (Tel quel, le code n'a aucune chance de fonctionner!!)

    1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    nomfichier = 'maddy.txt'
    fichier = open("nomfichier", 'w')
    Vous utilisez la variable nomfichier. C'est bien… Ensuite vous la mettez entre guillemets. Ce n'est alors plus une variable mais un littéral (un texte).
    (ici, Python essaye d'ouvrir le fichier dont le nom est exactement "nomfichier"). Comme il n'existe sans doutes pas, il le créé.
    Par contre ensuite vous ouvrez le fichier de nom "maddy.txt" pour la lecture… Ce ne sont donc pas les mêmes fichiers que vous ouvrez pour écriture et pour lecture!!
    Une variable s'utilise sans guillemets…
    2)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for letters in nomfichier :
    Donc là, votre but est de parcourir chacun des éléments de nomfichier, qui contient "maddy.txt"? C'est bien cela??
    (J'en doute… Non??)
    3)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print("Il y a "" fois cette lettre en majuscule")
    Ici, vous envoyez sur la sortie standard "Il y a fois cette lettre en majuscule".
    C'est cela que vous vouliez faire?
    Sinon, je vous renvoie à l'utilisation de la fonction "print()" (sur le site Python.org ou dans n'importe quel livre ou tutoriel Python. Tous en parle!!
    4)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if letters == letters.upper():
    Python fait la différence entre "a" et "A".
    Votre code ici teste si la lettre est majuscule, c'est bien cela???
    5) Pourquoi tout à la fin??
    Le fichier a déjà été refermé!!

    Clodion

    PS: Oui! C'est nettement plus facile de vous répondre avec le code ainsi présenté!!

  15. #15
    Membre averti
    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
    Par défaut
    Merci pour vos explications, c'est plus clair grace à vous.

    2) je cherche a ce que dans le fichier nommer maddy.txt (qui est un texte) il compte le nombres de fois ou une lettre est repetée. il doit aussi diffrencier les miniscules et les majuscules.

    3) pour le print j'aimerais qu"il note ma phrase et que entre guillmet "" il note le nombre de fois il as trouvé la lettre a par exemple.

  16. #16
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Citation Envoyé par Maddyou Voir le message
    2) je cherche a ce que dans le fichier nommer maddy.txt (qui est un texte) il compte le nombres de fois ou une lettre est repetée. il doit aussi diffrencier les miniscules et les majuscules.

    3) pour le print j'aimerais qu"il note ma phrase et que entre guillmet "" il note le nombre de fois il as trouvé la lettre a par exemple.
    2) Oui, j'ai bien compris! Cependant,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    nomfichier = 'maddy.txt'
    for letters in nomfichier
    Ceci indique que "nomfichier" est une variable et que son contenu est "maddy.txt". Contrairement à ce que vous semblez penser, "nomfichier" ne contient pas le contenu du fichier mais le nom exact, le littéral "maddy.txt".

    3) C'est bien ainsi que je l'avais compris. Mais ce n'est pas du tout ce que vous demandez à Python!
    Dans le shell Python, (lorsque vous avez ">>>") vous pouvez taper "help(print)" pour des renseignements.
    Écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nombre = texte.count(letters)
    fait que la variable "nombre" contient effectivement le nombre de présences de "letters" dans la variable "texte".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nomfichier.count(letters)
    N'a, a-priori, aucun intérêt. Python calcul quelque chose et personne ne s'en sert.
    Essayez un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print(nomfichier.count(letters))
    sera déjà sans doutes plus informatif et plus proche de ce que vous cherchez.
    Il affichera le nombre d’occurrence de "letters" du contenu de la variable "nomfichier". Ici, le contenu est le nom du fichier.

    Clodion

  17. #17
    Membre averti
    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
    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
    #!/bin/python
     
    fichier = open("maddy.txt", 'w')
    fichier.write('kugdfbuzufyvyszfOKIQDVSCIOQYSVdisg')
    fichier.close()
    fichier= open('maddy.txt' , 'r')
    texte = fichier.readlines()
    letters = "abcdefghijklmnopqrstuvwxyz"
     
    for letters in fichier:
            if letters == letters.upper()
                    print(nomfichier.count(letters))
            elif letters == letters.lower()
                    print(nomfichier.count(letters))
    je n'y arrive plus du tout...je perds espoir

  18. #18
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Bonjour,

    Citation Envoyé par Maddyou Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #!/bin/python
     
    fichier = open("maddy.txt", 'w')
    fichier.write('kugdfbuzufyvyszfOKIQDVSCIOQYSVdisg')
    fichier.close()
    fichier= open('maddy.txt' , 'r')
    texte = fichier.readlines()
    letters = "abcdefghijklmnopqrstuvwxyz"
     
    for letters in fichier:
            if letters == letters.upper()
                    print(nomfichier.count(letters))
            elif letters == letters.lower()
                    print(nomfichier.count(letters))
    Malheureusement vous perdez des bouts de code!!
    Il vous manque déjà ":" à la fin de la ligne 11 (if cond : )
    De même à la fin de la ligne 13 (elif: )
    Le message d'erreurs aurait dû vous mettre la puce à l'oreille.

    La variable "fichier" n'est pas refermée (après la ligne 7).
    Et vous confondez le fichier ouvert (variable "fichier") et le contenu de ce fichier que vous avez récupéré dans la variable "texte".

    Une petite expérience pour essayer de comprendre ce qui se passe. Essayez d'afficher la valeur de la variable "fichier" (print(fichier)). Vous obtiendrez:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <_io.TextIOWrapper name='maddy.txt' mode='r' encoding='UTF-8'>
    Ce qui vous montre que ce n'est pas le contenu qui vous intéresse.

    En ligne 9, si vous demandez, par contre, l'affichage de la variable "texte":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ['kugdfbuzufyvyszfOKIQDVSCIOQYSVdisg']
    Ainsi vous éviterez l'erreur que vous répétez depuis un bon moment à savoir la confusion entre: le nom du fichier (avant "nomfichier"), la variable permettant d'accéder à ce fichier ("fichier") et le contenu de ce fichier sous forme d'une liste de caractères ("texte").

    D'autre part, la méthode readlines() renvoie une liste.
    Savez-vous ce qu'est une liste?

    Ligne 8: vous attribuez à la variable "letters" la valeur "abcdefghijklmnopqrstuvwxyz".
    Ligne 10: vous écrasez cette variable avec chacun des éléments de fichier?

    Sérieusement, avec autant de lacunes fondamentales, vous ne pourrez pas faire grand chose!

    Vous devriez vraiment commencer par suivre un tutoriel. Avec le temps que vous avez déjà passé sur Python vous auriez déjà largement atteint votre objectif et ce script serait définitivement fonctionnel!!!!

    Quelques liens indispensables:
    http://www.developpez.net/forums/a39...hon-commencer/
    http://www.developpez.net/forums/d11...erard-swinnen/
    http://www.developpez.net/forums/d13.../cours-python/

    Voilà… Désolé, mais les notions de base sont quand même… de base.

    Clodion

  19. #19
    Membre émérite

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2010
    Messages : 662
    Par défaut
    Pour completer Clodion (qui a parfaitement raison), vous devriez construire votre code petit à petit en testant chaque element.

    Tout d'abord, créer le fichier "maddy.txt":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    fichier = open("maddy.txt", 'w')
    fichier.write('kugdfbuzufyvyszfOKIQDVSCIOQYSVdisg')
    fichier.close()
    Ici, fichier est un objet, vous auriez pu l'appeler jean_jacques ce serait pareil. Vous ouvrez le fichier maddy.txt en mode 'w' pour write. Lorsque vous faite fichier.write(""), vous appelez une methode de l'objet. On le fait en plaçant un point entre l'instance de l'objet (ici fichier) et la method.

    Bien, de meme vous pouvez de nouveau le lire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    fichier= open('maddy.txt' , 'r')
    texte = fichier.readlines()
    fichier.close()
    Désormais le fichier est fermé, on ne s'occupe plus que de son contenu qui se trouve dans la variable texte. Affichez le comme ceci:

    Vous pouvez aussi afficher le type de votre variable texte (ce que c'est en somme):

    Procédez comme cela, bout par bout en analysant bien ce que vous manipulez.


    Ne perdez pas espoir, vous voulez allez vite et vous vous sentez frustrée. Prennez un peu de temps, ça vient très vite.


    Ju

  20. #20
    Membre averti
    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
    Par défaut
    Merci pour vos message .

    j'ai suivi les tutos.

    Et avec de l'aide le programme devient ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    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()
     
    print(dico)

Discussions similaires

  1. Contour des lettres en gris foncé
    Par pihug12 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 18
    Dernier message: 18/10/2005, 05h53
  2. [C#] que des Lettres dans la textbox
    Par diaboloche dans le forum Windows Forms
    Réponses: 4
    Dernier message: 07/10/2005, 08h21
  3. [JTextField] Limiter la saisie a des lettres.
    Par Cyborg289 dans le forum Composants
    Réponses: 4
    Dernier message: 16/09/2005, 10h40
  4. transformer des lettres en chifres
    Par hassanibi dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 06/09/2005, 08h54
  5. Comment entrer des lettres accentuées sous postgresql ?
    Par Chihuahua dans le forum Requêtes
    Réponses: 11
    Dernier message: 28/08/2003, 08h04

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