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 pour un d�butant python


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    D�cembre 2009
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2009
    Messages : 6
    Par d�faut aide pour un d�butant python
    Bonsoir � tous,

    Je suis d�butant dans la programmation avec Python et tout nouveau dans ce forum.J'ai achet� le livre:programmer avec python de Gerard Swinnen et j'ai attaqu� la lecture et les essais en t�l�chargeant Python 3.1 et lorsque j'arrive aux instructions compos�es avec l'exemple:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    >>>a=0
    >>>if a=0:
             print"a est positif"
         elif a<0:
             print"a est négatif"
         else:
             print"a est nul"
    Donc jusqu'� la troisi�me ligne,tout va bien mais python 3.1,2.4,2.5 et 2.6 ne connaissent apparemment pas l'instruction else et elif (contraction de else if).
    Merci de m'�clairer.J'ai vu dans le forum que le livre s'est servi de la version 2.4 de python.Ah oui:active python n'a rien donn� non plus.Je comprends ce langage mais cela me frustre de ne pas pouvoir l'appliquer.
    PS:je suis sous windows XP.Peut �tre devrais aller sous Linux?
    Merci beaucoup � tous pour votre aide.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    D�cembre 2009
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2009
    Messages : 6
    Par d�faut exemple mal sorti lors de l'envoi message
    Re bonsoir,

    L'exemple n'est pas comme �crit dans ma question;print"a est positif" et print"a est negatif" sont indent�es par rapport � a=0 et if>0.
    Merci

  3. #3
    Membre �m�rite
    Avatar de Antoine_935
    Profil pro
    D�veloppeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activit� : D�veloppeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par d�faut
    Salut

    Utilise le bouton <code> pour garder ton code en l'�tat (le bouton #).
    Je peux te confirmer que Python connait bien les if, elif et else
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    >>> if False:
    ...     pass
    ... elif True:
    ...     print "Hello"
    ...
    Hello
    Ton probl�me ici, c'est dans le if a = 0.
    Python refuse cette expression puisqu'elle est incorrecte.
    Tu voulais certainement tester que a est �gal � 0, ce qui s'exprime par a == 0. Tel que tu l'as �crit, �a signifie a prend pour valeur 0. or, il est interdit en Python d'assigner des valeurs dans une condition.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    D�cembre 2009
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2009
    Messages : 6
    Par d�faut
    Bonsoir Antoine_935,

    Merci de m'avoir r�pondu;c'est sympa de ta part.Tout d'abord,excuse moi de te para�tre "un peu �ne"mais je d�bute depuis trois jours.Je pense que le bouton <code> ce sont les touches AltGr et la touche 3 au dessus des lettres.Mais garder le code en l'�tat,cela veut dire quoi s'il te pla�t?
    Ensuite,je viens de taper l'exemple que tu m'as donn� et l�: apr�s elif true:message d'erreur: indentationError unindent does not match any outer indentation level line 3.Je pense que je dois foirer quelque part car il reconna�t bien if mais else et elif:non.
    Peux tu me dire,s'il te pla�t,quelle version de python tu utilises?
    D'avance merci.

  5. #5
    R�dacteur/Mod�rateur

    Avatar de Jiyuu
    Homme Profil pro
    D�veloppeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Loire (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Billets dans le blog
    15
    Par d�faut
    Salut

    Utilise le bouton <code> pour garder ton code en l'�tat (le bouton #).
    Je peux te confirmer que Python connait bien les if, elif et else [/quote]
    Je te le confirme aussi et le fait de passer sous Linux ne changera rien.
    En ce qui concerne le bouton #, Antoine_935 parle de celui qui se trouve dans la barre d'outil au dessus de la fen�tre qui te permets de nous r�pondre.

    Et garder le code intact cela signifie qu'il faut faire en sorte que ce que tu nous �crit soit identique � ce que tu as � ton �cran dans ta console.
    Citation Envoy� par Antoine_935 Voir le message

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    >>> if False:
    ...     pass
    ... elif True:
    ...     print "Hello"
    ...
    Hello
    Ton probl�me ici, c'est dans le if a = 0.
    Python refuse cette expression puisqu'elle est incorrecte.
    Tu voulais certainement tester que a est �gal � 0, ce qui s'exprime par a == 0. Tel que tu l'as �crit, �a signifie a prend pour valeur 0. or, il est interdit en Python d'assigner des valeurs dans une condition.
    Voila tout est dit...

    Quand tu dis que python "reconna�t bien if mais else et elif:non", je pense que tu es en r�alit� fasse � un probl�me d'indentation. Redonne nous ton code tel qu'il apparait � l'�cran (avec m�me les espaces �ventuels entre chaque caract�re). On pourra ainsi contr�ler ce qui cloche.
    Initiation � Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez � la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont l� pour �a

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    D�cembre 2009
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2009
    Messages : 6
    Par d�faut
    Bonjour � tous,

    J'ai repris l'apprentissage de la prog sous python;cela n'a pas l'air compliqu� mais �a bloque � chaque fois.Je suis sous python 3.1:Je mets dessous les exemples que j'ai effectu�:Exemples du livre de Gerard Swinnen.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Python 3.1.1 (r311:74483, Aug 17 2009, 17:02:12) [MSC v.1500 32 bit (Intel)] on win32
    Type "copyright", "credits" or "license()" for more information.
    >>> n=7
    >>> msg="quoi de neuf?"
    >>> pi=3.14159
    >>> n
    7
    >>> msg
    'quoi de neuf?'
    >>> pi
    3.14159
    >>> print msg
    SyntaxError: invalid syntax (<pyshell#6>, line 1)
    >>> print msg:
     
    SyntaxError: invalid syntax (<pyshell#7>, line 1)
    >>> largeur=20
    >>> hauteur=5*9.3
    >>> largeur*hauteur
    930.0
    >>> 
    >>> print 17+3
    SyntaxError: invalid syntax (<pyshell#12>, line 1)
    >>> print 17 + 3
    SyntaxError: invalid syntax (<pyshell#13>, line 1)
    >>> a=150
    >>> if(a>100)
    SyntaxError: invalid syntax (<pyshell#15>, line 1)
    >>> a=150
    >>> if(a>100):
           print"a dépassé la centaine"
     
    SyntaxError: invalid syntax (<pyshell#18>, line 2)
    >>> a=0
    >>> if a>0:
        print "a est positif"
     
    SyntaxError: invalid syntax (<pyshell#21>, line 2)
    >>>
    Apparemment,il n'aime pas les 29 variables utilis�es par Python:if,then,else,elif,print.Je ne comprends pas .Tout ce qui est basique,�a va (op�rations)mais d�s qu'une des variables est mises en cause:�a bloque.
    Pour l'indentation,je tape 4 espaces du bord:exemple

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    >>>a=20
    >>>if (a>100):
              print "a dépassé la centaine"  
         else:    (4 espaces du bord)
              print "a ne dépasse pas cent"
    Voil� mon exemple mais mon prog a d�j� plant� apr�s que j'ai fait <enter>apr�s la ligne print"a depasse la centaine.il y a le d�faut:syntaxerror:invalid syntax (pyshell#2,line 2).
    Aidez moi s'il vous pla�t, car l� je suis perdu.Mis � part cela,�a a l'air assez simple � comprendre Python.�a me rappelle le turboPascal de mes ann�es BTS.Merci � tous et � plus.

  7. #7
    Membre exp�riment�
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    159
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 159
    Par d�faut
    Salut,
    Je vois un probl�me dans ton code : tu utilise l'instruction print comme ceci
    Or dans python 3.x, qui rompt la compatibilit� avec la version 2.x, print n'est plus une instruction mais une fonction. On l'utilise de cette mani�re
    C'est �a qui provoque tes messages d'erreur.

    Python 3.11 n'est donc pas adapt� au tutoriel que tu suis. Il te faut donc soit utiliser python 2.6, soit suivre un cours qui utilise python 3 !

  8. #8
    Membre chevronn�
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    309
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Mai 2002
    Messages : 309
    Par d�faut
    Le cours que tu as est pour Python 2.x
    Il y a quelques diff�rances avec Python 3.x

    Ton probl�me vient du : print
    En Python 3 c'est ceci :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    print('c'est avec les parenthèses)
    en python 2 c'est ceci :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    print 'sans les parenthèses'

  9. #9
    Membre chevronn�
    Profil pro
    Ing�nieur s�curit�
    Inscrit en
    F�vrier 2007
    Messages
    574
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : Etats-Unis

    Informations professionnelles :
    Activit� : Ing�nieur s�curit�
    Secteur : Industrie

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 574
    Par d�faut
    Salut,
    Alors en fait, tu utilises python 3.1, alors que le tutoriel de G�rard Schwinnen utilises Python 2.4. Le probl�me, c'est que python 3.0 apporte de grosses modifications au langage et brise la compatibilit� descendante.
    En gros, python 3.1 : print("une phrase")
    python 2.4,2.5,2.6 : print "une phrase"
    C'est la d'o� vient ton probl�me. Donc utilises python 2.6 si tu peux, ou adapte les exemples � python 3.1 (pas le plus �vident pour un d�butant).
    Bon courage, t'as juste commenc� � apprendre au mauvais moment...

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    D�cembre 2009
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2009
    Messages : 6
    Par d�faut
    Bonsoir � tous,

    Merci ne m'avoir r�pondu.Je suis donc pass� sous version Python 2.4 mais j'ai toujours les m�mes erreurs.Il ne reconnait pas else,elif.Je vous mets les exemples que j'ai tap� (tjrs d'apr�s le livre de Gerard Swinnen):

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Python 2.4.4 (#71, Oct 18 2006, 08:34:43) [MSC v.1310 32 bit (Intel)] on win32
    Type "copyright", "credits" or "license()" for more information.
     
        ****************************************************************
        Personal firewall software may warn about the connection IDLE
        makes to its subprocess using this computer's internal loopback
        interface.  This connection is not visible on any external
        interface and no data is sent to or received from the Internet.
        ****************************************************************
     
    IDLE 1.1.4      
    >>> a=150
    >>> if(a>100):
    	print"a depasse la centaine"
     
     
    a depasse la centaine
    >>> a=20
    >>> if(a>100):
    	print"a depasse la centaine"
          else:  ( du bord,je compte 4 espaces)
     
    IndentationError: unindent does not match any outer indentation level (<pyshell#7>, line 3)
    >>> a=0
    >>> if a>0
    SyntaxError: invalid syntax
    >>> a=0
    >>> if a>0:
    	print"a est positif"
          elif a<0:
     
    IndentationError: unindent does not match any outer indentation level (<pyshell#13>, line 3)
    >>>
    Je bloque et l� je rage.Il va prendre un mawashi geri l'ordi que �a va pas tarder.Ce n'est pas possible.Ou c'est un probl�me d'indentation,ou de version mais l� je n'arrive plus � suivre.Et l�,ce n'est que le d�but.
    Essayez de m'aider s'il vous pla�t!!!Doit on vraiment � partir du bord compter 4 espaces avant de marquer else ou elif?
    Merci � tous.

  11. #11
    Membre confirm�
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    105
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 105
    Par d�faut
    Bonjour,

    Oui, c'est bien seulement un probl�me d'indentation...
    La console IDLE te d�cale la premi�re ligne de l'�quivalent de 4 espaces (3 chevrons et une espace).
    Pour les lignes suivantes, tu dois faire comme si ce d�calage n'existait pas :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    >>> a=0
    >>> if a>0:
        print"a est positif"
    elif a<0:
        print"a est négatif"
    else:
        print"a est nul"
     
     
    a est nul
    >>>
    Comme �a, �a fonctionne...

    Au fait la derni�re version de Python en 2.x est la 2.6.4...

    @+

  12. #12
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par d�faut
    Quelqu�un a eu le m�me probl�me avec l�indentation r�cemment parce qu�il �tait comme tu l�es manifestement en mode console (Shell Window) de IDLE
    Ce mode n�est destin� qu�� pemettre de faire ex�cuter de courtes instructions pour obtenir les r�sultats dans la m�me fen�tre que les instructions.

    Il n�est pas pratique pour �crire et �diter des codes moins sommaires.



    Pour que IDLE s�ouvre en mode Edition lors de son d�marrage, il faut le configurer pour:

    en haut de la fen�tre IDLE, suivre Options / Configure IDLE... / General et cocher �Open Edit Window� dans le bandeau Startup Preferences



    EDIT:
    Peut �tre utile
    http://hkn.eecs.berkeley.edu/~dyoo/p...o/indexfr.html



    Je te conseille d�installer Python 2.6.4

    � moins que tu ne sois oblig� de faire tourner des codes anciens qui ne tournent qu�avec la version 2.4.4 , il ne faut pas rester dans une version d�pass�e, �a n�a strictement aucune justification en soi.

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    D�cembre 2009
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2009
    Messages : 6
    Par d�faut sensationnel
    Merci beaucoup � tous, vous m'avez d�bloqu�.Je peux avancer dans mon apprentissage.
    Encore merci et � plus.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [PostgreSQL] [POSTGRES] Aide pour un d�butant
    Par Tiolebucheron dans le forum PHP & Base de donn�es
    R�ponses: 3
    Dernier message: 12/11/2008, 08h45
  2. Aide pour un d�butant
    Par Flow_75 dans le forum OpenGL
    R�ponses: 3
    Dernier message: 13/07/2008, 18h34
  3. Besoin d'aide pour un d�butant en proc�dure stock�e
    Par el gringo dans le forum D�buter
    R�ponses: 2
    Dernier message: 06/04/2006, 11h17
  4. De l'aide pour un d�butant
    Par Abelkims dans le forum D�buter
    R�ponses: 21
    Dernier message: 02/09/2005, 11h11
  5. De l'aide pour un d�butant
    Par Abelkims dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 2
    Dernier message: 16/08/2005, 14h33

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