Partage
  • Partager sur Facebook
  • Partager sur Twitter

Les limites de la condition simple en if

Sujet résolu
    24 septembre 2011 à 17:27:29

    Bonjour,
    Alors voilà je viens de commencer à apprendre le Python (version 3.2 sous Windows 7) et c'est mon premier langage de programmation que j'apprends mais j'ai un petit problème:

    Dans le tutoriel, second chapitre, les limites de la condition simple en if, il y a un exemple où l'on utilise 2 if mais moi des que j'essaye ça me marque ça :
    >>> a=5
    >>> if a > 0:
    ...     print("a est positif.")
    >>> if a < 0:
    File "(stdin)", line 3
     if a < 0:
      ^
    SyntaxError: invalid syntax
    

    Alors je voudrais savoir, si c'est moi qui me trompe et où et si c'est autre chose, et ben quoi ? ^^

    P.S: J'ai déjà fait des recherches sur Internet et j'ai pu apprendre que "(stdin)" apparaissait dans un message d'erreur où il y a un mauvais "code"

    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      24 septembre 2011 à 18:04:56

      Salut,

      Tout d'abord, merci de lire les règles de ce forum, notamment le point à propos des balises codes qui sont absolument essentielles en Python.

      Ensuite, si tu as un problème, il y a de grandes chances que le problème viennent de toi et pas de Python (en fait, je dirais que 99.99% du temps c'est toi le problème). Donc évidemment, le problème vient de ton code et non de Python, et ça aurait été plus facile de t'aider si tu avais copié/collé toutes les lignes :

      >>> a = 5
      >>> if a > 0:
      ...   print("a est positif")
      ... if a < 0:
      File "<stdin>", line 3
        if a < 0:
         ^
      


      Comme tu le vois, devant le deuxième if, il y a trois points. Cela signifie que tu te trouves encore dans le bloc conditionnel. Toi, tu veux en sortir, donc tu dois appuyer deux fois sur la touche Entrée :

      >>> if a > 0:
      ...   print("a est positif")
      ... 
      a est positif
      >>> if a < 0:
      ...   print("a est négatif")
      ... 
      >>>
      

      Comme tu le vois, Python interprète d'abord la première condition (a > 0), voit que c'est vrai et affiche le message. Puis, tu écris la deuxième condition, qui est fausse, donc rien n'est affiché. Ce n'est pas très pratique, et habituellement, on utilise plutôt le elif (else if) et else :

      >>> if a > 0:
      ...   print("a est positif")
      ... elif a < 0:
      ...   print("a est négatif")
      ... else:
      ...   print("a est nul")
      ... 
      a est positif
      
      • Partager sur Facebook
      • Partager sur Twitter
        24 septembre 2011 à 18:11:44

        Merci beaucoup et désoler j'avais completement oublier d'ecrire les balises codes
        • Partager sur Facebook
        • Partager sur Twitter
          25 septembre 2011 à 9:10:11

          Ça ne t'empêche pas d'éditer ton premier post pour les rajouter.

          En l'occurrence je viens de le faire, mais ne les oublie pas la prochaine fois. Elles sont indispensables en Python étant donné que sans elles on ne voit plus l'indentation.
          • Partager sur Facebook
          • Partager sur Twitter
          Zeste de Savoir, le site qui en a dans le citron !
            22 mars 2015 à 11:29:46

            Bonjour tout le monde, vous m'excuserez de déterrer le sujet mais je tiens à signaler qu'il y a visiblement une erreur dans le cours : il y est écrit :

            >>> a = 5
            >>> if a > 0: # Si a est positif
            ...    print("a est positif.")
            ... if a < 0: # a est négatif
            ...    print("a est négatif.")

            alors que, comme l'a montré Fayden, ce n'est pas juste. Du coup j'ai (et je pense pas être le seul) chercher un bon moment ce que je faisais de mal avant de trouver ce sujet et me rendre compte que visiblement le code du cours n'est pas correct.

            Voici le passage du cours : http://puu.sh/gKEIz/035db7609b.png

            -
            Edité par V73 22 mars 2015 à 11:31:24

            • Partager sur Facebook
            • Partager sur Twitter
              22 mars 2015 à 15:56:48

              Oui, il y a une/des erreur(s) dans le cours.

              -
              Edité par entwanne 22 mars 2015 à 15:57:08

              • Partager sur Facebook
              • Partager sur Twitter

              Les limites de la condition simple en if

              × 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