Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur dans mon programme avec print

erreur print

Sujet résolu
    2 juillet 2013 à 15:39:01

    Bonjour le forum python,

    Je suis débutant en langage python et j'aurais besoins que vous m'aidiez car j'ai tout essayé mais rien trouvé

    Donc sans tarder voici mon code de mon éditeur python :

    [quote]

    # Créé le 02/07/2013

    def table():

        nb = input() #La je demande quel table il veut

        compteur = 0

        while compteur < 10: #Pour s'areter à 10

            print( compteur, "*", nb, "=", nb * compteur) #Problème ICI(je pense)

            compteur += 1 # Quand on a finis, on augmente de 1

    table() #On exécute la fonction

    [/quote]

    Et mon problème, c'est que dans l’interpréteur (la console) ca me met ça :

    [quote]

    (0, '*', 5, '=', 0)

    (1, '*', 5, '=', 5)

    (2, '*', 5, '=', 10)

    (3, '*', 5, '=', 15)

    (4, '*', 5, '=', 20)

    (5, '*', 5, '=', 25)

    (6, '*', 5, '=', 30)

    (7, '*', 5, '=', 35)

    (8, '*', 5, '=', 40)

    (9, '*', 5, '=', 45)

    [/quote]

    Je comprend pas tellement ça doit être une exception . (Si vous n'avez pas compris ce qui me gene, c'est que dans l'interpreteur il y a tout mon code et la fonction print n'a pas marché!)

    • Partager sur Facebook
    • Partager sur Twitter
      2 juillet 2013 à 15:51:25

      Salut,

      Tu utilises la fonction print() de Python3 alors que ton programme est interprété en Python2, du coup l'instruction :

      print( compteur, "*", nb, "=", nb * compteur)
      

      Est interprétée comme un appel à l'instruction print sur le tuple (compteur, "", nb, "=", nb compteur).

      2 solutions :

      • vire les parenthèses
      • ou bien passe à Python3

      -
      Edité par nohar 2 juillet 2013 à 15:55:48

      • Partager sur Facebook
      • Partager sur Twitter
      Zeste de Savoir, le site qui en a dans le citron !
        2 juillet 2013 à 15:55:36

        Pourrais-tu m'en dire un peu plus s'il te plaît

        Comment peut tu me dire que mon programme est interprété en python2 ? Ce serait mon interpreteur qui ne serait pas d'actualité ?

        Pourtant j'ai déjà beaucoup utilisé de print() de python3 et cela à toujours été concluant o_O

        Je crois que c'est bien ça mais aurais tu une application comme "AmiensPython" pour python 3 ?

        -
        Edité par Greghunter 2 juillet 2013 à 16:00:12

        • Partager sur Facebook
        • Partager sur Twitter
          2 juillet 2013 à 16:02:51

          C'est normal que ça aie l'air de fonctionner sur des prints simples :

          15:59 arnaud@umad(~)% python2
          Python 2.7.3 (default, Apr 10 2013, 06:20:15) 
          [GCC 4.6.3] on linux2
          Type "help", "copyright", "credits" or "license" for more information.
          >>> print("salut")
          salut
          >>> print("salut", "ça", "va")
          ('salut', '\xc3\xa7a', 'va')
          >>> 
          

          Cette erreur est ultra-courante sur ce forum, et il n'y a qu'une seule explication possible : l'interpréteur qui exécute ton programme est Python 2 et non Python 3. En Python 2, print était une instruction et n'avait pas besoin de parenthèses lors de l'appel, alors qu'en Python 3 c'est devenu une fonction.

          À la rigueur un moyen de pallier ça serait de rajouter au début de ton code :

          from __future__ import print_function
          

          Mais si ta version de python2 est trop ancienne ça peut ne pas fonctionner.

          -
          Edité par nohar 2 juillet 2013 à 16:22:42

          • Partager sur Facebook
          • Partager sur Twitter
          Zeste de Savoir, le site qui en a dans le citron !
            2 juillet 2013 à 16:10:49

            Merci pour ton aide nohar, c'est très sympathique d'avoir une réponse rapide clair et précise :)

            Auriez-vous des versions de python3 à me conseillez ( comme AmiensPython si vous connaissez)

            • Partager sur Facebook
            • Partager sur Twitter
              2 juillet 2013 à 16:19:40

              L'interpréteur standard (CPython) suffit largement.

              • Partager sur Facebook
              • Partager sur Twitter
              Zeste de Savoir, le site qui en a dans le citron !

              Erreur dans mon programme avec print

              × 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