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 :

Probleme de debutant ^.^


Sujet :

Python

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 33
    Points : 12
    Points
    12
    Par défaut Probleme de debutant ^.^
    Bonsoir à tous je suis nouveau sur ce forum !
    Bon voila mon cas j'essaie d'apprendre python mais il y a un truc qui m'énerve c'est que j'arrive pas a manipuler les sauts je m'explique sur un exemple.

    n=2
    if n>4 :
    print " kkkkk" ( ici il faut que le print soit décaler et bah après
    je n'arrive plus à sortir du if . . . il n'y a pas les cran automatique ? par exemple si je veux mètre un else au même niveau que if j'appuie sur quel touche ? ^^ ) merci !

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 813
    Points : 7 102
    Points
    7 102
    Par défaut
    par exemple si je veux mètre un else au même niveau que if j'appuie sur quel touche ?
    sur espace
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 33
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    sur espace

    ... quel réponse bah c'est pas ca ... si je fait espace ca fait un espace sur la ligne . . .

  4. #4
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 33
    Points : 12
    Points
    12
    Par défaut
    Un exemple :
    >>> n=2
    >>>while n<5:
    ............print " jolie"
    .....ICI voila comment je faire pour aller ou ya écrit "ici" ? les espace ne marche pas parce que j''ai pas les >>> . . .
    merci j'espère avoir était un peu plus clair :s

  5. #5
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 813
    Points : 7 102
    Points
    7 102
    Par défaut
    parce-que ton code n'est pas correct

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> n=2
    >>> while n<5:
    ...     print "jolie"
    ...     n+=1 # on incrémente n, meme chose que n=n+1
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  6. #6
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 33
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    parce-que ton code n'est pas correct

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> n=2
    >>> while n<5:
    ...     print "jolie"
    ...     n+=1 # on incrémente n, meme chose que n=n+1
    Oui mais la je veux mètre un truc à la même hauteur que while ? je fait comment ? et puis moi j'ai pas les 3 petit points :s pourtant j'ai la version 2.6.4 c'est normale ?

  7. #7
    Membre éprouvé
    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
    Points : 1 066
    Points
    1 066
    Par défaut
    Quand il faut une indentation tu rajoutes 4 espaces, et quand il n'en faut plus, tu ne rajoutes plus les espaces...
    Je ne vois pas trop comment l'expliquer plus clairement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    >>> n=2
    >>> while n<5:
    ...     print "jolie"
    ...     n+=1 # on incrémente n, meme chose que n=n+1
    ... 
    >>> var = "hello"

  8. #8
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 813
    Points : 7 102
    Points
    7 102
    Par défaut
    Bon je crois qu'il faut partir du départ

    T'es sous linux ou windows?

    Oui mais la je veux mètre un truc à la même hauteur que while ?
    Impossible, faut respecter les règles, il faut indenter de 4 espaces après une boucle while, if, else, for etc...

    et puis moi j'ai pas les 3 petit points
    D'où l'attente de ta réponse à la 1ere question
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  9. #9
    Membre extrêmement actif
    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
    Points : 1 658
    Points
    1 658
    Par défaut
    Bienvenue en Pythonie,


    Ta question est étrange parce que d'après les chevrons que tu écris (les >>> ) tu serais en ligne de commande Python, mais je n'observe le "problème" que tu décris que sous IDLE.

    À savoir que, effectivement, sous IDLE, si j'écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    n=5
    while n<34:
        print n
        n+=7|<---ce dernier caractère représente le curseur
    et que le curseur est juste après le 7,
    un appui sur ENTER fait aller ce curseur à la ligne et jusqu'au niveau du n (sous le n) de n+=7.
    EDITION: ceci est valable sous IDLE, mais en mode éditeur. J'oubliais juste en écrivant ceci qu'il y a un mode console IDLE.

    Tandis qu'en ligne de commande Python, le même appui sur ENTER fait aller le curseur à la ligne à la verticale du w de while, et qu'il me faut taper 4 espaces pour indenter correctement après un appui sur ENTER..


    Cette étrangeté ne m'empêche pas de pouvoir te répondre:
    - appuie donc sur ENTER pour faire aller le curseur à la ligne et jusque sous n+=7
    - puis appuie sur BACKSPACE pour faire revenir en arrière en restant sur la nouvelle ligne



    1 remarque:
    - il y a un espace après les 3 chevrons

  10. #10
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 33
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par Antoine_935 Voir le message
    Quand il faut une indentation tu rajoutes 4 espaces, et quand il n'en faut plus, tu ne rajoutes plus les espaces...
    Je ne vois pas trop comment l'expliquer plus clairement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    >>> n=2
    >>> while n<5:
    ...     print "jolie"
    ...     n+=1 # on incrémente n, meme chose que n=n+1
    ... 
    >>> var = "hello"
    Je viens de comprendre que entre la ligne n+=1 et var ya une ligne =x ,Merci all ^^ , et de plus elif existe sur toute les versions ? ya un mode pour l"employé ?. j'ai le droit de dire :
    if
    .. . . . . .
    elif ?

  11. #11
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 33
    Points : 12
    Points
    12
    Par défaut
    Erreur de ma part ! ca marche toujours pas attendez j'essay de prendre un screen . . .

  12. #12
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 33
    Points : 12
    Points
    12
    Par défaut
    Re ! Voila regarder :s


    DSL faut zoomer dessus
    Images attachées Images attachées  

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 26
    Points
    26
    Par défaut
    C'est normal. Dans l'IDLE, lorsque tu vois réapparaitre des chevrons (>>>), c'est que tu es de nouveau à la "racine" du bloc principal et dans ton cas, cela signifie aussi que tu es sortie de la suite d'instruction if... else et cela est surement dû au fait que tu as appuyé deux fois sur ENTER.

    Dans l'IDLE, pour revenir au niveau d'une instruction, tu appuies une fois sur ENTER et puis sur BACKSPACE jusqu'à être à la colonne désirée si celle-ci est inférieure à la colonne où va se placer le curseur ou sur SPACE jusqu'à être à la colonne désirée.

  14. #14
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 33
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par So.Ta Voir le message
    C'est normal. Dans l'IDLE, lorsque tu vois réapparaitre des chevrons (>>>), c'est que tu es de nouveau à la "racine" du bloc principal et dans ton cas, cela signifie aussi que tu es sortie de la suite d'instruction if... else et cela est surement dû au fait que tu as appuyé deux fois sur ENTER.

    Dans l'IDLE, pour revenir au niveau d'une instruction, tu appuies une fois sur ENTER et puis sur BACKSPACE jusqu'à être à la colonne désirée si celle-ci est inférieure à la colonne où va se placer le curseur ou sur SPACE jusqu'à être à la colonne désirée.
    oui mais regarde :s
    Images attachées Images attachées  

  15. #15
    Membre extrêmement actif
    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
    Points : 1 658
    Points
    1 658
    Par défaut
    La présence de ceci dans l'en-tête:

    ****************************************************************
    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 2.6.4
    dénote qu'il s'agit de l'affichage d'une exécution sous IDLE.

    En tous cas, je suis en Python 2.6.2 et cette partie n'apparaît pas en ligne de commande mais apparait en IDLE.

    Dès lors, si c'est bien la même chose pour 2.6.4, comment se fait-il qu'il y ait des instructions et des chevrons qui ne devraient pas être là ?

    Les premiers chevrons devant n = 20 sont OK, je les ai aussi,

    Mais les autres, et la présence d'instructions, ne sont pas normaux dans un affichage d'exécution sous IDLE.

    De plus , j'ai personnellement
    IDLE 2.6.2 ==== No Subprocess ====
    Est-ce que tu as des 'subprocess' ?

    Est-ce que tu utilises un IDLE particulier amélioré ?

    Quel est ton code finalement ? Donne le stp.

  16. #16
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 33
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par eyquem Voir le message
    La présence de ceci dans l'en-tête:



    dénote qu'il s'agit de l'affichage d'une exécution sous IDLE.

    En tous cas, je suis en Python 2.6.2 et cette partie n'apparaît pas en ligne de commande mais apparait en IDLE.

    Dès lors, si c'est bien la même chose pour 2.6.4, comment se fait-il qu'il y ait des instructions et des chevrons qui ne devraient pas être là ?

    Les premiers chevrons devant n = 20 sont OK, je les ai aussi,

    Mais les autres, et la présence d'instructions, ne sont pas normaux dans un affichage d'exécution sous IDLE.

    De plus , j'ai personnellement


    Est-ce que tu as des 'subprocess' ?

    Est-ce que tu utilises un IDLE particulier amélioré ?

    Quel est ton code finalement ? Donne le stp.

    XD moi j'ai seulement télécharger la version 2.6.4, je ne sait pas trop te dire si j'ai des subprocess vu que je ne sais pas ce que c'est^^ , mais j'ai pas de version special de python peut etre je devrai installer une version moins recente ? ou bien c'est à cause de vista ? par contre j'ai oublier de dire que j'ai essayer avec le terminal , et ca marche tres bien . . .

  17. #17
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Tu as, a priori, la bonne version de Python.

    Si tu veux développer un code Python, n'utilise pas la console idle, mais son éditeur de texte.

    On utilise la console idle que pour des petites choses d'une ligne. Pour plusieurs lignes, en plus des difficultés que tu as, il y a l'inconvénient de ne pas pouvoir revenir en arrière.

    Pour accéder à l'éditeur d'idle: menu file -> new windows.

    Tu tapes ton code dans la nouvelle fenêtre et tu disposes de toutes les facilités d'édition de texte, y compris des particularités pour le code python (mise en couleur, alignement, etc...).

    Tu sauvegardes quelque part sous le nom que tu veux (test.py par exemple)

    Tu demandes l'exécution dans la fenêtre de ton code: menu run -> run module (ou F5) et l'affichage se fera dans la console idle.

    Tyrtamos
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  18. #18
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 141
    Points : 184
    Points
    184
    Par défaut
    Salut !

    Comme le dit Tyrtamos, tu n'auras pas de problème sous un éditeur de texte.

    Toutefois, à la vue du 2e screenshot que tu as donné, je peux te dire que ton erreur vient du fait que tu as mis une tabulation (ou 4 espaces) avant le elif.

    Tu aurais dû écrire ceci (ce qui est peu ou prou l'illustration visuelle de l'explication de So.Ta) :

    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
     
    Python 2.6.2 (r262:71605, Apr 14 2009, 22:40:02) [MSC v.1500 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 computers internal loopback
        interface.  This connection is not visible on any external
        interface and no data is sent to or received from the Internet.
        ****************************************************************
     
    IDLE 2.6.2      
    >>> n = 1
    >>> if n == 0:
    	print 'aucun'
    elif n == 1:
    	print 'un seul'
    else:
            print 'plusieurs'
     
     
    un seul
    >>>
    En fait, IDLE t'induit en erreur car il ne compte pas les chevrons dans l'indentation. Pour lui, ton if se situe dans la colonne 0.
    Au niveau visuel, c'est trompeur.

    Je ne crois pas que le fait que j'ai la 2.6.2 et toi la 2.6.4 change quoi que ce soit à l'explication.

  19. #19
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 33
    Points : 12
    Points
    12
    Par défaut
    Merci pour toute vos rep je vais essayer ^^

  20. #20
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 33
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par nardo47 Voir le message
    Salut !

    Comme le dit Tyrtamos, tu n'auras pas de problème sous un éditeur de texte.

    Toutefois, à la vue du 2e screenshot que tu as donné, je peux te dire que ton erreur vient du fait que tu as mis une tabulation (ou 4 espaces) avant le elif.

    Tu aurais dû écrire ceci (ce qui est peu ou prou l'illustration visuelle de l'explication de So.Ta) :

    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
     
    Python 2.6.2 (r262:71605, Apr 14 2009, 22:40:02) [MSC v.1500 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 computers internal loopback
        interface.  This connection is not visible on any external
        interface and no data is sent to or received from the Internet.
        ****************************************************************
     
    IDLE 2.6.2      
    >>> n = 1
    >>> if n == 0:
    	print 'aucun'
    elif n == 1:
    	print 'un seul'
    else:
            print 'plusieurs'
     
     
    un seul
    >>>
    En fait, IDLE t'induit en erreur car il ne compte pas les chevrons dans l'indentation. Pour lui, ton if se situe dans la colonne 0.
    Au niveau visuel, c'est trompeur.

    Je ne crois pas que le fait que j'ai la 2.6.2 et toi la 2.6.4 change quoi que ce soit à l'explication.
    MErci ! ca marche mais je crois que cela vient du fait que j'ai pas mis n== .. ?

Discussions similaires

  1. [CSS] probleme de debutant
    Par discogarden dans le forum Mise en page CSS
    Réponses: 21
    Dernier message: 21/12/2005, 15h54
  2. Probleme inconnu... [debutant]
    Par The_Zarabe dans le forum C
    Réponses: 8
    Dernier message: 27/10/2005, 19h31
  3. quelques problemes de debutant avec count
    Par shirya dans le forum Langage SQL
    Réponses: 4
    Dernier message: 20/09/2005, 22h14
  4. probleme de debutant sous access
    Par guili dans le forum Access
    Réponses: 8
    Dernier message: 23/06/2005, 16h39
  5. Problème pour debuter avec glut
    Par ismael14 dans le forum GLUT
    Réponses: 2
    Dernier message: 26/07/2004, 10h37

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