IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

aide sur une erreur de syntaxe python3.2 sur linux


Sujet :

Python

  1. #1
    Futur Membre du Club
    Femme Profil pro
    invalide
    Inscrit en
    Novembre 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : invalide
    Secteur : Services de proximité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 11
    Points : 7
    Points
    7
    Par défaut aide sur une erreur de syntaxe python3.2 sur linux
    je débutes dans la programmation, l'exercice qu'on me propose dans le livre de gerard swinnen,apprendre python 3, exercice de la page 30,lorsque je le tapes voici le problème et pourtant je l'écris exactement comme dans le bouquin. pourriez-vous me dire l'erreur que je fais,merci

    >>> a,b,c=1,1,1
    >>> while c<11:
    ... print(b,end=" ")
    File "<stdin>", line 2
    print(b,end=" ")
    ^
    SyntaxError: invalid syntax
    >>> a,b,c=1,1,1
    >>> while c<11:
    ... print(b, end =" ")
    File "<stdin>", line 2
    print(b, end =" ")
    ^
    SyntaxError: invalid syntax
    >>> a,b,c=1,1,1
    >>> while c<11:
    ... print(b,end = )
    File "<stdin>", line 2
    print(b,end = )
    ^
    SyntaxError: invalid syntax
    >>>

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Ta boucle while introduit un bloc de code, il faut donc l'indenter. Même dans l'interpréteur interactif.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    >>> a, b, c = 1, 1, 1
    >>> while c < 11:
    ...     print(c, end='')
    ...     c += 1
    ... 
    12345678910>>>
    Quand tu mets du code dans ce forum, utilise les balises du même nom, le # dans la barre d'outils.

  3. #3
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Pour un grand débutant : à chaque fois qu'une ligne se termine par ":", il faut indenter la (les) suivantes en tapant sur le clavier sur la touche "tab".
    Pas d'aide par mp.

  4. #4
    Futur Membre du Club
    Femme Profil pro
    invalide
    Inscrit en
    Novembre 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : invalide
    Secteur : Services de proximité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 11
    Points : 7
    Points
    7
    Par défaut erreur de syntaxe sur python3.2
    merci de vos réponse mais même en indentant ça ne marche pas...
    #a,c=1,1
    >>> while a<13:
    ... print(a, end =' ')
    File "<stdin>", line 2
    print(a, end =' ')
    ^
    SyntaxError: invalid syntax


    merci de votre aide à une débutante, mon indentation du "print" disparaît lorsque je poste sinon je fais 4 espacements au lieu de la tab.(trop de place quand plusieurs indentations)
    de plus j'ai essayer de mettre #, il ecrit (code)(/code) mais ne l'inscrit pas quand je poste,donc j'utilise celui de mon clavier,pourriez-vous me dire le pourquoi?

  5. #5
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Dans un éditeur, par exemple ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    a,c=1,1
    while a<13:
    	print(a,end=' ')
    	a=a+1
    Ta boucle ne s'arrête jamais si on le laisse tel quel.
    Pas d'aide par mp.

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Quand tu cliques sur le # et que apparaissent tu colles ton code au milieu des deux balises.

    Tu entres tes lignes dans un terminal ou tu utilises l'EDI Python ?

  7. #7
    Futur Membre du Club
    Femme Profil pro
    invalide
    Inscrit en
    Novembre 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : invalide
    Secteur : Services de proximité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 11
    Points : 7
    Points
    7
    Par défaut problème de syntaxe sous python
    au départ j'utilisais le terminal puis on a intégré un éditeur et j'ai pris GEDIT, seulement je n'arrivais pas a faire tourner mes exercices donc j'ai commencer a utiliser SPE et avec lui en tapant F9 il ouvre automatiquement le terminal et il active mon exercice, sauf quand j'utilise le terme: end=" " (problème d'écrit dans mon autre intervention) et quand j'écris des explication après le terme: # . voir ci-après:

    j'utilise SPE (Stani's Python Editor)
    autre problème
    lorsque je rentre le programme pour avoir une suite de fibonacci et que je le fait tourner pas de soucis,par contre dés que j'écris des explications après le signe "#" voilà la réponse:

    File "exercice fibonacci.py", line 3
    SyntaxError: Non-ASCII character '\xc3' in file exercice fibonacci.py on line 3, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

    évidement j'ai été voir sur la page indiquée et il me dit (mais je n'ai pas tout compris) que c'était un problème de langage uft8 et ascii,je crois qu'il me dit de faire des changements dans le langage mais j'ai peur de faire une bêtise alors pour l'instant je ne mets pas d'explication quand je fais mes exercices

  8. #8
    Futur Membre du Club
    Femme Profil pro
    invalide
    Inscrit en
    Novembre 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : invalide
    Secteur : Services de proximité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 11
    Points : 7
    Points
    7
    Par défaut problème de syntaxe sous python
    mon problème n'est pas l'indentation, mais c'est le signe: end=" ", pour mettre les termes un à coté de l'autre au lieu de les avoir un en dessous de l'autre. car la formule fonctionne avec les termes un en dessous de l'autre mais dès que je veux installer le terme: end=" " ,c'est à ce moment qu'il me met erreur de syntaxe.

    File "exercice fibonacci.py", line 2
    print(b, end =" ")
    ^
    SyntaxError: invalid syntax
    >>>

  9. #9
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    En règle générale, quand on a ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ^
    SyntaxError: invalid syntax
    >>>
    avec l'accent circonflexe sous le premier caractère, c'est que l'erreur est à la ligne précédente.

    Je t'invite à nous dévoiler l'entièreté de ton code. Entre les balises adéquates et sans pudeur, nous avons déjà tous vu des suites de Fibonacci.

  10. #10
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Tu ne serais pas en train de compiler avec python2 ?
    Pas d'aide par mp.

  11. #11
    Futur Membre du Club
    Femme Profil pro
    invalide
    Inscrit en
    Novembre 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : invalide
    Secteur : Services de proximité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 11
    Points : 7
    Points
    7
    Par défaut problème de syntaxe sous python
    lorsque je fais ainsi,c'est ok
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #a,b,c=1,1,1
    while c<11:
        print(b)
        a,b,c=b,a+b,c+1
    mais j'aimerai avoir tout les termes sur la même ligne alors j'essaye:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    a,b,c=1,1,1
    while c <11:
        print(b, end=" ")
        a,b,c=b,a+b,c+1
    et là il me répond dans le terminal:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    File "exercice fibonacci.py", line 3
        print(b, end=" ")
                    ^
    SyntaxError: invalid syntax
    >>>
    j'ai essayé sans espace entre les guillemets,j'ai essayé des apostrophes au lieu des guillemets, sans espace et avec, sans espace entre le end et l'=,sans espace et avec entre la virgule et le end,bref rien ne fonctionne.

  12. #12
    Futur Membre du Club
    Femme Profil pro
    invalide
    Inscrit en
    Novembre 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : invalide
    Secteur : Services de proximité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 11
    Points : 7
    Points
    7
    Par défaut problème de syntaxe sous python
    Citation Envoyé par marco056 Voir le message
    Tu ne serais pas en train de compiler avec python2 ?
    tu as raison, lorsque j'ouvre mon terminal et que je tape: python, il me sonne la licence pour python2.7.
    comment faire pour travailler sous python3 sans changer langage qui fait tourner linux?
    donc avoir python3.2 uniquement pour mes exercice sans interférer avec linux..

  13. #13
    Futur Membre du Club
    Femme Profil pro
    invalide
    Inscrit en
    Novembre 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : invalide
    Secteur : Services de proximité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 11
    Points : 7
    Points
    7
    Par défaut problème de syntaxe sous python
    je vous remercie tous, je faisais mes exercices avec un éditeur de python2.7 ce qui posait quelques problèmes,mais j'ai mis un éditeur IDLE en 3.2 et maintenant plus de problème, vos pistes étaient bonnes, encore merci, grâce à des personnes comme vous,qui prenez le temps de nous accompagner dans ce pas à pas à la découverte de la programmation,on y arrive: vive la programmation

  14. #14
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Tu entres python3 dans ton terminal, et si tu as une version 3.2 et une 3.3 tu peux encore choisir en entrant python3.2 ou python 3.3.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/06/2014, 11h50
  2. Aid sur une erreur de code
    Par mog83 dans le forum C#
    Réponses: 12
    Dernier message: 24/04/2008, 12h13
  3. Aide pour identifier une erreur de syntaxe
    Par tribalou dans le forum Cobol
    Réponses: 10
    Dernier message: 21/02/2008, 00h46
  4. Besoin d'aide sur une erreur javascript Uncaught Exception
    Par Jim_Nastiq dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 29/11/2007, 16h11
  5. Requete sur une table qui pointe 2 fois sur une autre
    Par Satch dans le forum Langage SQL
    Réponses: 1
    Dernier message: 10/01/2006, 08h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo