Partage
  • Partager sur Facebook
  • Partager sur Twitter

petit programme !!

    18 mai 2014 à 23:14:23

    bonjour
    je bloque sur un ptit programme avec les false et true . 
    Nombre=input("Saisissez un nombre") 
    print(Nombre)
    type(Nombre)
    Nombre=float(Nombre)
    Nombre = False
    if Nombre == 2:
         Nombre = True
    elif Nombre<2 and Nombre>2:
         Nombre = False
    if Nombre==True:
         print("ce nombre est égal à 2 ")
    else:
         print("ce nombre est différent de 2 ")
    Lorsque je rentre 2, ca devrait me mettre : nombre est égal à 2
    Lorsque je rentre 3 : ce nombre est différent de 2 .
    Mais pour n'importe quel nombre ca me met différent de 2 ce qui est normal. mais quand je mets 2, ca me mets différent de 2 aussi :(
    Merci d'avance :) 

    -
    Edité par flyn29 18 mai 2014 à 23:15:23

    • Partager sur Facebook
    • Partager sur Twitter
      18 mai 2014 à 23:30:19

      Bonjour, :)

      Fais un :

      type(Nombre)

      et :

      type(2)

      Tu comprendras alors ton erreur... ;)


      Cordialement. 

      • Partager sur Facebook
      • Partager sur Twitter
        18 mai 2014 à 23:36:22

        ca ne change rien :(

        non toujours pas vraiment compris l'erreur :(

        • Partager sur Facebook
        • Partager sur Twitter
          18 mai 2014 à 23:39:00

          flyn29 a écrit:

          ca ne change rien :(

          non toujours pas vraiment compris l'erreur :(


          Que tu renvois les deux code ci-dessus ?

          Cordialement.
          • Partager sur Facebook
          • Partager sur Twitter
            18 mai 2014 à 23:42:15

            Nombre=input("Saisissez un nombre") 
            print(Nombre)
            type(2)
            Nombre=float(Nombre)
            Nombre = True
            if Nombre == 2:
                 Nombre = False
            elif Nombre<2:
                 Nombre = True
            elif Nombre>2:
                 Nombre= True
            if Nombre==True:
                 print("ce nombre est différent de 2 ")
            else:
                 print("ce nombre est égal de 2 ")
            en mettant type(2) ca revient toujours au meme. Je vois pas d'ou vient le bug
            • Partager sur Facebook
            • Partager sur Twitter
              18 mai 2014 à 23:49:53

              .

              -
              Edité par eloyas 18 mai 2014 à 23:50:51

              • Partager sur Facebook
              • Partager sur Twitter
                18 mai 2014 à 23:49:57

                C'est normal, car a la ligne 5 tu met:

                Nombre = True

                Autrement dit maintenant ton nombre a comme valeur True.

                @eloyas: A la ligne 4 il fait bien un changement de classe 

                -
                Edité par Olygrim 18 mai 2014 à 23:53:56

                • Partager sur Facebook
                • Partager sur Twitter
                Précepte: Le mieux est l'ennemi du bien
                  18 mai 2014 à 23:59:22

                  Merci eloyas de tes réponses, mais en fait c'est la solution de olygrim qui est la bonne  :)

                  Effectivement, j'ai déclaré ma variable Nombre comme étant toujours True, ce qui fait que c'était logique qu'elle est toujours le même message. C'était logique :)

                  Merci, c'est en faisant des erreur au début qu'on progresse et qu'on les commet plus :-)

                  -
                  Edité par flyn29 19 mai 2014 à 0:00:34

                  • Partager sur Facebook
                  • Partager sur Twitter
                    19 mai 2014 à 0:44:55

                    eloyas t'avais donné la solution mais tu n'as pas compris.

                    En gros ce n'est pas logique de stocker à la fois des booléens et des entiers dans ta variable Nombre, même si Python le permet.

                    Faire ça serait plus simple et plus propre :

                    nombre = int(input("Saisissez un nombre"))
                    if(nombre == 2):
                        print("le nombre vaut 2")
                    else:
                        print("le nombre ne vaut pas 2")

                     ou même :

                    nombre = int(input("Saisissez un nombre"))
                    print("le nombre vaut : ", nombre)

                    -
                    Edité par LeSuricateFurtif 19 mai 2014 à 0:53:05

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Un de ces quatre, viens faire un tour sur Zeste de Savoir !

                    petit programme !!

                    × 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