Partage
  • Partager sur Facebook
  • Partager sur Twitter

...if : Erreur de syntaxe

Sujet résolu
    20 décembre 2016 à 16:39:08

    Salut,

    dans le cours pour apprendre à programmer en Python, le type nous donne ce bout de code

    >>> 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.")

    Et lorsque je le rentre dans la console (ligne par ligne), ça m'envoi une erreur de syntaxe quand j'arrive à

    ...if a < 0:

    Je voulais savoir si c'est parce qu'il utilisait la version de Python 3.4, et que moi j'utilise la version de Python 3.5 ou quelque chose d'autre, merci pour ceux qui prendront le temps de me répondre.

    • Partager sur Facebook
    • Partager sur Twitter
      20 décembre 2016 à 16:58:55

      Quand tu travaille dans l'interpréteur (la console), il faut laisser une ligne vide entre les deux if (car ce sont deux blocs différents):

      >>> 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.")


      Chose que tu ne dois pas faire si tu mets un elif à la place du second if (car celui-ci fera partie du même bloc):

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


      Par contre si tu écris ton code dans un fichier alors tu peux ne pas mettre de ligne séparatrice (mais ça risque d'être moins agréable à lire ;)):

      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.")
      • Partager sur Facebook
      • Partager sur Twitter
      Précepte: Le mieux est l'ennemi du bien
        20 décembre 2016 à 17:06:11

        Olygrim a écrit:

        Quand tu travaille dans l'interpréteur (la console), il faut laisser une ligne vide entre les deux if (car ce sont deux blocs différents):

        >>> 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.")


        Chose que tu ne dois pas faire si tu mets un elif à la place du second if (car celui-ci fera partie du même bloc):

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


        Par contre si tu écris ton code dans un fichier alors tu peux ne pas mettre de ligne séparatrice (mais ça risque d'être moins agréable à lire ;)):

        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.")

        Donc le type s'est trompé ? Ca laisse pas confiant pour la suite du cours.. Et merci, j'bloquais dessus depuis hier..

        -
        Edité par ZedSMITH 20 décembre 2016 à 17:07:28

        • Partager sur Facebook
        • Partager sur Twitter
          20 décembre 2016 à 17:08:59

          Apparemment oui. Il a fait un mix entre code écrit dans la console et code écrit dans un fichier.
          • Partager sur Facebook
          • Partager sur Twitter
          Précepte: Le mieux est l'ennemi du bien

          ...if : Erreur de syntaxe

          × 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