Partage
  • Partager sur Facebook
  • Partager sur Twitter

problème avec le print

    17 septembre 2014 à 18:02:06

    Bonjour,

    Aujourd'hui j'ai eu mon premier cours de Python (youpi :D ) et j'ai une série d'exercice à faire. Un d'eux: Ecrivez un programme qui calcule le volume d’un parallélépipède rectangle dont sont fournis au départ la largeur, la hauteur et la profondeur. Rien de difficile quoi. print("----------------------- Volume d'un parallelepipede quelconque -----------------------") largeur = int(input("Entrer la largeur:")) profondeur = int(input("Entrer la profondeur:")) hauteur = int(input("Entrer la hauteur:")) volume = largeur profondeur hauteur print("Le volume est:", volume) Quand je run le code, j'ai ceci dans la console: ----------------------- Volume d'un parallelepipede quelconque ----------------------- Entrer la largeur:2 Entrer la profondeur:5 Entrer la hauteur:3 ('Le volume est:', 30)

    Process finished with exit code 0 Il est là le problème: ('Le volume est:', 30) J'aimerais que ca soit ceci: Le volume est: 30 donc sans les () et ''.

    Merci de l'aide ^^'

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      17 septembre 2014 à 18:04:50

      Si tu es sous Python 2.x, c'est parce que valeur1, valeur2 est considéré comme un tuple (=ensemble de valeurs représenté avec des parenthèses autour).

      Change ta ligne en:

      print "Le volume est: %s" % str(volume)

      -
      Edité par Anonyme 17 septembre 2014 à 18:11:09

      • Partager sur Facebook
      • Partager sur Twitter
        17 septembre 2014 à 18:17:17

        Je dois utiliser cette méthode dans quel cas et pourquoi exactement? Je n'ai pas vu ceci dans le cours de python ou notre syllabus :o

        • Partager sur Facebook
        • Partager sur Twitter
          17 septembre 2014 à 18:25:34

          Il doit utiliser Python2, Python 3 donnerait bien le résultat qu'il espère.

          Python2 considère que l'OP veut afficher un tuple, la solution la plus propre à mon goût serait d'utiliser la syntaxe suivante : print("Le volume est : %d" % volume)

          Mais il y a plein d'autres solutions : print("Le volume est : " + str(volume)) print(" ".join(["Le volume est :", str(volume)]))

          etc...

          -
          Edité par LoupSolitaire 17 septembre 2014 à 18:31:09

          • Partager sur Facebook
          • Partager sur Twitter

          Blond, bouclé, toujours le sourire aux lèvres...

            17 septembre 2014 à 18:26:00

            Le problème c'est qu'en python 3, `print` est une fonction, c'est-à-dire que tu dois obligatoirement l'utiliser avec des parenthèses (comme dans ton tuto), tandis qu'en python 2, `print` est un mot-clé, qui s'utilise sans parenthèses. Trois exemples des équivalences python 2 / python 3 :

            a = 1
            b = 2
            
            # Python 3
            print(a)
            # Python 2
            print a
            print(a)
            # Écrivent : 1
            
            # Python 3
            print(a, b)
            # Python 2
            print a, b
            # Écrivent : 1 2
            
            # Python 3
            print((a, b))
            # Python 2
            print (a, b)
            # Écrivent : (1, 2)

             Edit :

            @LoupSolitaire

            ou tout simplement :

            print "Le volume est :", volume
            Mais du coup ce n'est pas compatible python 3.

            -
            Edité par tatrats 17 septembre 2014 à 18:28:22

            • Partager sur Facebook
            • Partager sur Twitter
              17 septembre 2014 à 18:31:45

              Donc si je passe à python 3 normalement je n'aurais plus ce problème. Le code s'affichera directement comme je veux? :)

              • Partager sur Facebook
              • Partager sur Twitter
                17 septembre 2014 à 18:32:25

                Oh putain grosse confusion de ma part...

                Ouais, virer les parenthèses quand on bosse en Python2, c'est beaucoup plus simple.

                • Partager sur Facebook
                • Partager sur Twitter

                Blond, bouclé, toujours le sourire aux lèvres...

                  17 septembre 2014 à 18:43:19

                  Si tu passes à python 3, print devient une fonction et tu n'as plus aucun problème. Je pense que passer à python 3 est effectivement une très bonne idée (pas que pour ça), mais ce n'est qu'une opinion car les avis divergent sur le sujet.
                  • Partager sur Facebook
                  • Partager sur Twitter

                  problème avec le 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