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 :

Syntax Error / Questions [Fait]


Sujet :

Python

  1. #1
    Membre chevronné
    Avatar de kedare
    Homme Profil pro
    Network Automation Engineer
    Inscrit en
    Juillet 2005
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Network Automation Engineer

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 548
    Points : 1 861
    Points
    1 861
    Par défaut Syntax Error / Questions
    Salut !
    j'ai un probleme , je debute en python , j'ai essayer un code simple , mais j'ai une erreur de syntax , pourtant je ne vois pas ou est l'erreur , a part que les "..." n'apparaisse pas pendant les conditions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (a==1):
    	print " A Vaut 1 !"
    	else:
     
    SyntaxError: invalid syntax
    ou est le probleme ? :/
    j'utilise python 2.4.1

  2. #2
    Membre éclairé Avatar de sloshy
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2005
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 728
    Points : 723
    Points
    723
    Par défaut
    bonjour,

    premierement, tu n'as pas defini de variable a au préalable et donc c'est logique qu'il ne sache pas verifié la condition.

    ensuite le else (signifiant sinon en anglais) doit etre indenté au même niveau que le if et attend aussi des instructions (pas obligatoire)

    exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    a=1
     
    if a==1:
        print "a vaut 1 !"
    “La seule révolution possible, c'est d'essayer de s'améliorer soi-même, en espérant que les autres fassent la même démarche. Le monde ira mieux alors.”

  3. #3
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    le "else" est mal indenté

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (a==1): 
       print " A Vaut 1 !" 
    else:

  4. #4
    Membre chevronné
    Avatar de kedare
    Homme Profil pro
    Network Automation Engineer
    Inscrit en
    Juillet 2005
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Network Automation Engineer

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 548
    Points : 1 861
    Points
    1 861
    Par défaut
    Citation Envoyé par Guigui_
    le "else" est mal indenté

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (a==1): 
       print " A Vaut 1 !" 
    else:
    Ha D'accord
    Merci

    c'est normale que je n'ai pas les ... si non ?
    j'ai quelques petite questions aussi :
    Python est-il plus rapide ou plus lent que le Java ? at-il autant de possibilité ?
    Peut-on crée des Exe en Python ?
    ou puis-je trouver des exemples de programmes créer en python ?

  5. #5
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Citation Envoyé par kedare
    c'est normale que je n'ai pas les ... si non ?
    Qu'est-ce que tu appelles ... ?
    Citation Envoyé par kedare
    Python est-il plus rapide ou plus lent que le Java ? at-il autant de possibilité ?
    http://www.developpez.net/forums/viewtopic.php?t=379462
    Citation Envoyé par kedare
    Peut-on crée des Exe en Python ?
    http://www.developpez.net/forums/vie...er=asc&start=0
    Citation Envoyé par kedare
    ou puis-je trouver des exemples de programmes créer en python ?
    Tu cherches des programmes professionnels où simplement des exemples de codes source pour apprendre:
    http://python.developpez.com/cours/

  6. #6
    Membre chevronné
    Avatar de kedare
    Homme Profil pro
    Network Automation Engineer
    Inscrit en
    Juillet 2005
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Network Automation Engineer

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 548
    Points : 1 861
    Points
    1 861
    Par défaut
    les "..." ce sont ceux dans les condition pour indenter :
    Ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    >>> if x < 0:
    ...      x = 0
    ...      print 'Négatif changé en zéro'
    ... elif x == 0:
    ...      print 'Zéro'
    ... elif x == 1:
    ...      print 'Un seul'
    ... else:
    ...      print 'Plus'
    ...
    peut-on crée des application comme des jeux en python sans etre pénalisé par la lenteur ?

  7. #7
    Membre éclairé Avatar de sloshy
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2005
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 728
    Points : 723
    Points
    723
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    >>> if x < 0:
    ...      x = 0
    ...      print 'Négatif changé en zéro'
    ... elif x == 0:
    ...      print 'Zéro'
    ... elif x == 1:
    ...      print 'Un seul'
    ... else:
    ...      print 'Plus'
    ...
    devrait donner:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> if w <0
    ...    x=0
    ...    print "Négatif changé en zero"
    >>> elif x == 0:
    ...    print "zero"
    >>> elif x == 1:
    ...    print "un seul"
    >>> else:
    ...    print "plus"
    tu peux créer un jeux en python une fois l'exe crée plus de probleme au niveau de la lenter tout dependra de la config ou le jeux sera utilisé.
    “La seule révolution possible, c'est d'essayer de s'améliorer soi-même, en espérant que les autres fassent la même démarche. Le monde ira mieux alors.”

  8. #8
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Citation Envoyé par kedare
    les "..." ce sont ceux dans les condition pour indenter :
    Ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    >>> if x < 0:
    ...      x = 0
    ...      print 'Négatif changé en zéro'
    ... elif x == 0:
    ...      print 'Zéro'
    ... elif x == 1:
    ...      print 'Un seul'
    ... else:
    ...      print 'Plus'
    ...
    Les ... apparaissent parce que tu utilises Python en ligne de commande (mais ils n'ont aucune valeur, c'est juste un marqueur). Utilises plutôt l'éditeur IDLE (qui a aussi son propre interpréteur en ligne de commande mais en plus jolie)

    Citation Envoyé par kedare
    peut-on crée des application comme des jeux en python sans etre pénalisé par la lenteur ?
    les .exe créé ne sont qu'une transposition de ton .py en un .exe, donc niveau performance, aucun changement.
    Par contre, si tu veux augmenter tes performances, il faut utiliser d'autres bibliothèques (qui sont en général codé en C/C++) ou bien faire une compilation C de ton code ( http://python.developpez.com/faq/?page=Optimisation )

  9. #9
    Membre chevronné
    Avatar de kedare
    Homme Profil pro
    Network Automation Engineer
    Inscrit en
    Juillet 2005
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Network Automation Engineer

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 548
    Points : 1 861
    Points
    1 861
    Par défaut
    Quelle sont les avantages/inconveniant comparré au java donc ?
    (j'esite beaucoup entre les 2 , je cherche le plus simple ,je n'ai jamais fait de programmation autre que php)

  10. #10
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Python, cf FAQ: http://python.developpez.com/faq/?pa...onPresentation
    Ce qui m'a fait conserver Python:
    - code clair (l'indentation au lieu de l'usage d'accolades forcent à avoir un code propre) et concis (taille des programmes divisés par 2 par rapport à un autre langage tel que java/C++)
    - nombreuses bibliothèques efficaces, faciles d'installation et d'utilisation => http://python.developpez.com/outils/ (dont pas mal que j'utilise quotidiennement)
    - facilement interfaçable avec d'autres langages (je l'interface avec Delphi (pour les IHM)

    Si tu veux te faire une idée rapidement de Python, regarde le cours de Swinnen: http://python.developpez.com/cours/

    Les inconvénients (et encore) de Python:
    - La documentation est presque toute en anglais
    - La communauté est assez restreinte (il suffit de regarder l'affluence des forums)
    - Il est relativement rare de pouvoir l'utiliser professionnellement (mais y'a des chanceux )
    - moi, je trouvais qu'il était un peu difficile de se mettre au IHMs en Python (mais avec les tutos sur wxPython et Tkinter, c'est plus facile)

    Pour java, regarde plutôt les tutoriels java, il doit bien y en avoir qui expliquent les possibilités du langage: http://java.developpez.com/cours/

    En tout cas, aucun des langages Python et Java ne te limiteront dans tes développements

  11. #11
    Membre chevronné
    Avatar de kedare
    Homme Profil pro
    Network Automation Engineer
    Inscrit en
    Juillet 2005
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Network Automation Engineer

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 548
    Points : 1 861
    Points
    1 861
    Par défaut
    et c'est difficile de crée un exe ?
    le python seul sans aucun autre langage , c'est bien ?

    je peut trouver un bon comparatif java/python en francais ?
    des codes source qui font la meme chose mais dans les 2 langages different ?

  12. #12
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Citation Envoyé par kedare
    et c'est difficile de crée un exe ?
    il te suffit d'un setup de 4 lignes si ton progs ne constituent qu'un fichier .py. (cf FAQ)
    Citation Envoyé par kedare
    le python seul sans aucun autre langage , c'est bien ?
    J'utilise Delphi en plus parce que j'ai besoin de drivers (pour des caméras) qui sont en Delphi (donc pas trop le choix, j'ai pas envie de perdre des mois à les reprogrammer en Python), et je maîtrise mieux les IHM en Delphi qu'en Python.
    Mis à part les IHM, je fais tout en Python (mais je rappelle que les IHM se font très bien également en Python, il faut peut-être un peu plus de boulot au début pour bien comprendre comment ça marche, mais avec les tutos dispos, ca devrait aller).
    Donc Python s'utilise très bien tout seul.

  13. #13
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Citation Envoyé par kedare
    je peut trouver un bon comparatif java/python en francais ?
    des codes source qui font la meme chose mais dans les 2 langages different ?
    sur ce site, y'a des benchmarks (étude des temps d'exécution pour un même programme selon le langage utilisé). Donc tu peux voir quelques bouts de programmes fait avec presque tous les langages
    http://shootout.alioth.debian.org/

    Il faut prendre les résultats obtenus avec des pincettes (car j'avais noté que du côté de Python, il y avait parfois moyen de programmer autrement pour un gain de temps assez conséquent par rapport aux piètres résultats obtenus).

  14. #14
    Membre chevronné
    Avatar de kedare
    Homme Profil pro
    Network Automation Engineer
    Inscrit en
    Juillet 2005
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Network Automation Engineer

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 548
    Points : 1 861
    Points
    1 861
    Par défaut
    je prend un exemple de programme que je voudrais faire :

    Un petit launcher pour ma guilde pour un jeu qui :

    Affiche un navigateur au millieu que donne une url precise
    Telecharge un fichier .txt ou .xml , et l'analyse (verifie la version du launcher)
    Si le fichier xml contient des entré differente de celui deja present , on telecharge les fichier indiquer dans le segment different
    Une fois terminer , on fait apparaitre un bouton demarer , quand on clic sur le bouton ,ca ferme le programme et ouvre le jeu

    C'est possible en python ?

    si non j'ai pas bien comprit comme utiliser le benchmarks :/
    dans :
    http://shootout.alioth.debian.org/benchmark.php?test=hello&lang=all&sort=fullcpu
    plus le : Full CPU Time s est petit plus le programme est rapide ?
    si c'est le cas le python est bien plus rapide que java ! (et plus compact , et utilise moin de memoire )

  15. #15
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Citation Envoyé par kedare
    je prend un exemple de programme que je voudrais faire :

    Un petit launcher pour ma guilde pour un jeu qui :

    Affiche un navigateur au millieu que donne une url precise
    Telecharge un fichier .txt ou .xml , et l'analyse (verifie la version du launcher)
    Si le fichier xml contient des entré differente de celui deja present , on telecharge les fichier indiquer dans le segment different
    Une fois terminer , on fait apparaitre un bouton demarer , quand on clic sur le bouton ,ca ferme le programme et ouvre le jeu

    C'est possible en python ?
    Tu peux faire à peu près la même chose en Java et Python donc ton truc est faisable aussi en Python.

    Citation Envoyé par kedare
    si non j'ai pas bien comprit comme utiliser le benchmarks :/
    dans :
    http://shootout.alioth.debian.org/benchmark.php?test=hello&lang=all&sort=fullcpu
    plus le : Full CPU Time s est petit plus le programme est rapide ?
    si c'est le cas le python est bien plus rapide que java ! (et plus compact , et utilise moin de memoire )
    C'est ça:
    CPU Time est le temps d'exécution de programme
    Memory USE est la RAM utliisé
    Mais les performances dépendent beaucoup de l'application programmée
    Voilà un comparatif des benchmarks entre Python et Java
    http://shootout.alioth.debian.org/benchmark.php?test=all&lang=python&lang2=java&sort=fullcpu
    Java l'emporte 11 fois sur 14 (en temps CPU, ce qui est le plus important).
    Mais après pense que ce n'est pas le plus important (les sources sont parfois mal programmées et sa peut jouer grandement sur les performances)

  16. #16
    Membre chevronné
    Avatar de kedare
    Homme Profil pro
    Network Automation Engineer
    Inscrit en
    Juillet 2005
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Network Automation Engineer

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 548
    Points : 1 861
    Points
    1 861
    Par défaut
    Et au niveau de la programmation , le python est plus simple que le java ?
    j'ai un peut l'impression , en regardant des sources de java .. c'est tres flou comparré au python ...

    mais bon je me lance dans python , si plus tard j'apprend le java , ca sera compatible ? je pourrait crée une seul applicatio a la fois en python et java ? ou c'est pas possible ?

    si je crée un exe en python , le client n'a plus besoin de l'interpreteur ? :p

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

Discussions similaires

  1. Parse error: syntax error, unexpected '}' help
    Par beur dans le forum Langage
    Réponses: 5
    Dernier message: 23/03/2006, 21h33
  2. [Configuration] Problème après l'installation (Parse error: syntax error,..)
    Par beur dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 21/03/2006, 14h08
  3. syntax error
    Par ludovik dans le forum C
    Réponses: 5
    Dernier message: 18/03/2006, 21h32
  4. Syntax error
    Par vincedjs dans le forum Langage
    Réponses: 3
    Dernier message: 01/02/2006, 16h58
  5. "vector" provoque "syntax error", malgré
    Par seenkay dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 24/08/2003, 03h21

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