Partage
  • Partager sur Facebook
  • Partager sur Twitter

erreur de syntaxe non comprise

SyntaxError: invalid syntax

    18 novembre 2014 à 19:01:47

    Bonsoir à tous, 

    Je débute en python et je souhaite réaliser un programme qui affiche si le nombre rentré par l'utilisateur est un integer.

    voici un extrait :

    if nombre = int(raw_input("Entrez le nombre à vérifier: "))



    Cependant j'ai cette erreur qui s'affiche en console : 

    SyntaxError: invalid syntax

    J'ai déjà cherché dans le forum mais aucun des posts ne correspond vraiment à mon cas.

    Pourquoi cette erreur ?

    -
    Edité par bidule154 18 novembre 2014 à 19:50:25

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      18 novembre 2014 à 19:12:46

      Je ne peux que te recommander le tutoriel de python de ce site qui répondra à tes questions.

      • Partager sur Facebook
      • Partager sur Twitter
        18 novembre 2014 à 19:26:19

        bonsoir

        >>> A = 2

        >>> isinstance(A, int)
        True

        >>> A = 'ttt'
        >>> isinstance(A, int)
        False

        >>> isinstance(A, str)
        True

        • Partager sur Facebook
        • Partager sur Twitter
          18 novembre 2014 à 19:36:39

          Et pour rentrer au clavier une data et vérifier que c'est bien un integer:

          data = input("Entrez un nombre entier")     ## data est une string
          
          condition = False
          
          while (condition == False)
          
              try:
          
                  data = int(data)         ## On tente de convertir en entier, et si erreur on va à except
          
                  condition = True         ## On sort de la boucle
          
              except:
          
                  print("Ce n'est pas un entier !")
          
                  condition = False        ## retour au While


          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            18 novembre 2014 à 19:49:38

            @ast2: ton code comporte des erreurs. Je pense que le PO a surtout besoin de lire le tutoriel avant tout autre chose. Et puis, je pense que donner la solution à un débutant c'est un peu dommage (quoi que je suis le premier à le faire :°).<br/> Là je te dis où ton code pêche, mais ne le prend pas mal:

            • Ligne 1 - data = input("Entrez un nombre entier"): Le PO est en Python 2 je présume donc input devient raw_input :).
            • Ligne 5 - while (condition == False):
              • Les parenthèses sont inutiles
              • Tu as oublié les deux points à la fin
              • On préfère utiliser la syntaxe while not condition, qui est plus épurée
            • Ligne 6 à 17: En fait je ne vois pas l'utilité de ta boucle. En tout cas pas à cet endroit là. Je m'explique: Si à aucun moment tu ne redemande une valeur pour data, la boucle sera infinie si l'entrée n'est pas exclusivement composée de chiffres.
            • Ligne 17 - condition = False: Pas besoin. condition vaut déjà False.
            • Les commentaires: pourquoi les préfixes-tu d'un # supplémentaire ?

            -
            Edité par Anonyme 18 novembre 2014 à 20:03:01

            • Partager sur Facebook
            • Partager sur Twitter
              18 novembre 2014 à 19:55:46

              Merci pour vos réponses.

              @st2 cette partie est reconnue comme possédant une mauvaise syntaxe

              while (condition == False)   

              Cordialement

              -
              Edité par bidule154 18 novembre 2014 à 19:56:06

              • Partager sur Facebook
              • Partager sur Twitter
                18 novembre 2014 à 20:14:15

                oui effectivement, il y a une erreur dans mon code, la ligne:

                data = input("Entrez un nombre entier")

                doit évidemment être dans le while.
                On devrait toujours exécuter un prog même simple avant de le publier...

                -
                Edité par ast2 18 novembre 2014 à 20:17:49

                • Partager sur Facebook
                • Partager sur Twitter

                erreur de syntaxe non comprise

                × 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