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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 : 40
    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...

+ 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