Partage
  • Partager sur Facebook
  • Partager sur Twitter

Je ne trouve pas l'erreur

    29 décembre 2015 à 21:04:17

    Bonsoir,

    Je suis un débutant en code et j'ai commencé à apprendre le Python.

    J'en suis aux exceptions dans le cours sur le Python, et dans un excercice il est expliqué comment afficher un message spécifique pour chaque erreur retournée . J'ai alors tenté de le faire (sans regarder le cours ):

    import os
    numerateur=1
    denominateur=45
    resultat=0
    print("Merci d'entrer le numérateur")
    numerateur=input()
    
    print("Merci d'entrer le dénominateur")
    denominateur=input()
    
    numerateur=int(numerateur)
    denominateur=int(denominateur)
    resultat=int(resultat)
    resultat= numerateur / denominateur
    try:
    	resultat= numerateur / denominateur
    except NameError:
        Print("La variable numérateur ou dénominateur n'a pas été définie")
    except TypeError:
        print("Merci d'entrer les variables en chiffres")
    except ZeroDivisionError:
        print("La division par 0 est impossible")
    	
    print(resultat)
    
    	
    os.system("pause")

    Quelqu'un peut il m'expliquer le problème ?

    Merci :)



    -
    Edité par FrancescoS. 29 décembre 2015 à 21:04:35

    • Partager sur Facebook
    • Partager sur Twitter
    print("Salut!")
    Anonyme
      29 décembre 2015 à 23:42:50

      Quand tu as une erreur en Python il faut aussi que tu nous copie-colle le traceback (c'est en gras et en italique, c'est pas pour faire joli :p). Le traceback c'est le message d'erreur affiché par la console avant que ton programme ne s'arrête.

      A première vue ton erreur peut venir du "p" majuscule à la ligne n°18.

      • Partager sur Facebook
      • Partager sur Twitter
        30 décembre 2015 à 21:24:36

        Nelimee a écrit:

        Quand tu as une erreur en Python il faut aussi que tu nous copie-colle le traceback (c'est en gras et en italique, c'est pas pour faire joli :p). Le traceback c'est le message d'erreur affiché par la console avant que ton programme ne s'arrête.

        A première vue ton erreur peut venir du "p" majuscule à la ligne n°18.


        Merci Nelimee.

        La fenêtre se refermait immédiatement après l'erreur, du coup j'ai fait une vidéo pour pouvoir lire le traceback qui disait:

        Traceback(most recent call last):
        
        File "C:\\Users\MonNom\Desktop\testsPython\new 1.py", line 14, in <module>
        
           resultat= numerateur/denominateur
        
        Zero divison error: division by 0.


        Pourtant, j'ai bien mis un except qui a été reconnu par Notepad!

        Une idée ?

         EDIT: Je viens de remarquer que je devais mettre le print de la ligne 24 avec else, mais cela ne résout pas le problème

        -
        Edité par FrancescoS. 30 décembre 2015 à 21:32:09

        • Partager sur Facebook
        • Partager sur Twitter
        print("Salut!")
          31 décembre 2015 à 11:20:16

          L'exept ne marche que pour ce qui est dans le bloc try ! Regarde, la ligne 14 est juste avant. En fait, tu as mis deux fois la division: une dans le bloc try, comme il faut, et une devant: enlève cette dernière division et l'erreur sera réglée !
          • Partager sur Facebook
          • Partager sur Twitter
          (2b || !2b) ? that : is->theQuestion - Hamlet

          Je ne trouve pas l'erreur

          × 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