Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Python] probleme de code

j'ai craqué!!!

Sujet résolu
    11 février 2008 à 22:10:51

    Bonjour tous le monde!
    Voila je m'étais dit qu'il fallait que je me mette au Python, et je me suis dit que j'avais suffisamment flooder ce forum quand j'apprenais le C pour ne pas revenir vous embeter avec mon Python. malheureusement comme le dit très bien Murphy :

    Citation : Murphy

    En informatique, la stupidité d'une erreur est inversement proportionnel au temps que l'on met pour la trouver


    (Pour tous ceux qui l'ignore, les lois de Murphy sont surnomer 'Loi de l'emmerdement maximum')

    Ce qui est d'autant plus vrai que je suis débutant

    bref voila mon code, c'est un programme tous simple qui cherche le nombre de fois qu'une lettre est présente dans une phrase :

    1. #!/usr/bin/python
    2. i=0
    3. # Ceci est un programme qui cherche le nbre d'une lettre dans un texte donne
    4. while i == 0 :
    5.         print "Entrer la phrase" # texte a analyser
    6.         chaine = raw_input()
    7.         print "entrer la lettre" #lettre a rechercher
    8.         lettre = raw_input()
    9.         longueur = len(chaine)
    10.         if len(chaine) == 0 or len(lettre) > 1 or len(lettre) == 0:
    11.                 print "recommencez"
    12.         else :
    13.                 i = 1
    14. j = 0
    15. nbre = 0
    16. while j < longueur : # moteur de recherche
    17.         if chaine[j] = lettre :
    18.                 nbre += 1
    19.         j += 1
    20. print "il y a ", j, " fois ", lettre, " dans ", chaine # annonce du resultat
    21. raw_input('pressez enter')


    Ce qui se passe c'est que la fenêtre s'ouvre et se ferme tt de suite

    Merci pour votre aide, je suis dessus depuis une heure!!!
    (càd que l'erreur doit être très stupide)
    • Partager sur Facebook
    • Partager sur Twitter
      11 février 2008 à 22:19:08

      Ben déjà tu devrais lancer le programme directement à partir de la console python pour voir l'erreur :)

      Par contre il me semble qu'il existe déjà une fonction pour faire ça >_<
      • Partager sur Facebook
      • Partager sur Twitter
        11 février 2008 à 22:55:09

        hmmm alors ligne 17 je vois :
        1. if chaine[j] = lettre :


        c'est pas un "==" ? :)

        Et aussi :
        1. print "il y a ", j, " fois ", lettre, " dans ", chaine # annonce du resultat
        2. raw_input('pressez enter')


        C'est bien gentil tout ça mais tu affiches j qui est la longeure de la chaîne au final :p , faut que tu remplaces j par nbre .

        bon je suis un noob en prog mais chez moi ce code semble marcher :D


        1. i=0
        2. # Ceci est un programme qui cherche le nbre d'une lettre dans un texte donne
        3. while i == 0 :
        4.         print "Entrer la phrase" # texte a analyser
        5.         chaine = raw_input()
        6.         print "entrer la lettre" #lettre a rechercher
        7.         lettre = raw_input()
        8.         longueur = len(chaine)
        9.         if len(chaine) == 0 or len(lettre) > 1 or len(lettre) == 0:
        10.                 print "recommencez"
        11.         else :
        12.                 i = 1
        13. j = 0
        14. nbre = 0
        15. while j < longueur : # moteur de recherche
        16.         if chaine[j] == lettre :
        17.                 nbre += 1
        18.         j += 1
        19. print "il y a ", nbre, " fois ", lettre, " dans ", chaine # annonce du resultat
        20. raw_input('pressez enter')

        • Partager sur Facebook
        • Partager sur Twitter
          11 février 2008 à 23:27:27

          et je rajouterais que tu peux améliorer la condition en remplaçant ceci :
          1. len(lettre) > 1 or len(lettre) == 0

          par :
          1. len(lettre) != 1

          ;)
          • Partager sur Facebook
          • Partager sur Twitter
            13 février 2008 à 13:25:10

            pfou chu vraiment blond :-°
            le coup des egales j'aurai du le voir...
            mais le j.. voila pourquoi sa marchait pas.........
            :-°:-°:-°
            un grand merci
            • Partager sur Facebook
            • Partager sur Twitter
              13 février 2008 à 15:37:04

              plus dans le python style:

              1. i=0
              2. for l in phrase:
              3.   if l==lettre: i+=1
              • Partager sur Facebook
              • Partager sur Twitter
                13 février 2008 à 18:08:06

                Citation : gregagne

                pfou chu vraiment blond :-°
                le coup des egales j'aurai du le voir...
                mais le j.. voila pourquoi sa marchait pas.........
                :-°:-°:-°
                un grand merci



                Je suis blond et j'ai vu les coup des égales! tires en les conclusions qui s'imposent :p
                • Partager sur Facebook
                • Partager sur Twitter

                [Python] probleme de code

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown