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 :

demande d'assistance sur un tutoriel


Sujet :

Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 27
    Points : 20
    Points
    20
    Par défaut demande d'assistance sur un tutoriel
    Bonjour,
    je viens vers vous aujourd'hui parce que je suis un tutoriel:"apprendre à programmer avec python" de Gérard Swinnen

    A la page 91, le code:
    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
    # Petit exercice utilisant la bibliothèque graphique Tkinter
    from Tkinter import *
    from random import randrange
    # --- définition des fonctions gestionnaires d'événements : ---
    def drawline():
        "Tracé d'une ligne dans le canevas can1"
        global x1, y1, x2, y2, coul
        can1.create_line(x1,y1,x2,y2,width=2,fill=coul)
        # modification des coordonnées pour la ligne suivante :
        y2, y1 = y2+10, y1-10
    def changecolor():
        "Changement aléatoire de la couleur du tracé"
        global coul
        pal=['purple','cyan','maroon','green','red','blue','orange','yellow']
        c = randrange(8)         # => génère un nombre aléatoire de 0 à 7
        coul = pal[c]
    #------ Programme principal -------
    # les variables suivantes seront utilisées de manière globale :
    x1, y1, x2, y2 = 10, 190, 190, 10      # coordonnées de la ligne
    coul = 'dark green'                    # couleur de la ligne
    # Création du widget principal ("maître") :
    fen1 = Tk()
    # création des widgets "esclaves" :
    can1 = Canvas(fen1,bg='dark grey',height=200,width=200)
    can1.pack(side=LEFT)
    bou1 = Button(fen1,text='Quitter',command=fen1.quit)
    bou1.pack(side=BOTTOM)
    bou2 = Button(fen1,text='Tracer une ligne',command=drawline)
    bou2.pack()
    bou3 = Button(fen1,text='Autre couleur',command=changecolor)
    bou3.pack()
    fen1.mainloop()    # démarrage du réceptionnaire d'événements
    31
    Ces dessins pourront éventuellement être animés dans une phase ultérieure (voir plus loin)92 Utilisation de fenêtres et de graphismes
    fen1.destroy()  # destruction (fermeture) de la fenêtre
    me renvoie une erreur. Je n'exclus en rien une erreur de frappe de ma part, mais j'aimerais savoir si pour quelqu'un d'autre la même erreur apparait.
    En fait il me dit purement et simplement qu'il ne peut appeler la liste permettant le changement aléatoire de la couleur des lignes.
    Je ne suis pas devant mon poste actuellement donc je posterai le message d'erreur ce soir.
    Je ne suis pas assez aguerri pour voir d'où viendrait mon erreur.
    je suis sous python 2.6, sous Debian Lenny et si pour l'âme charitable qui testerait l'erreur n'apparaitrait pas, je posterai mon code pour voir où se trouve mon erreur.

    merci à tous.

  2. #2
    Membre expérimenté
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    946
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 946
    Points : 1 351
    Points
    1 351
    Par défaut
    Salut,

    Si j'enlève les lignes 33 et 34, que je rajoute une ligne pour l'encodage, ce code marche très bien en python 2.7

    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
    # -*- coding: utf-8 -*-
    # Petit exercice utilisant la bibliothèque graphique Tkinter
    from Tkinter import *
    from random import randrange
    # --- définition des fonctions gestionnaires d'événements : ---
    def drawline():
        "Tracé d'une ligne dans le canevas can1"
        global x1, y1, x2, y2, coul
        can1.create_line(x1,y1,x2,y2,width=2,fill=coul)
        # modification des coordonnées pour la ligne suivante :
        y2, y1 = y2+10, y1-10
    def changecolor():
        "Changement aléatoire de la couleur du tracé"
        global coul
        pal=['purple','cyan','maroon','green','red','blue','orange','yellow']
        c = randrange(8)         # => génère un nombre aléatoire de 0 à 7
        coul = pal[c]
    #------ Programme principal -------
    # les variables suivantes seront utilisées de manière globale :
    x1, y1, x2, y2 = 10, 190, 190, 10      # coordonnées de la ligne
    coul = 'dark green'                    # couleur de la ligne
    # Création du widget principal ("maître") :
    fen1 = Tk()
    # création des widgets "esclaves" :
    can1 = Canvas(fen1,bg='dark grey',height=200,width=200)
    can1.pack(side=LEFT)
    bou1 = Button(fen1,text='Quitter',command=fen1.quit)
    bou1.pack(side=BOTTOM)
    bou2 = Button(fen1,text='Tracer une ligne',command=drawline)
    bou2.pack()
    bou3 = Button(fen1,text='Autre couleur',command=changecolor)
    bou3.pack()
    fen1.mainloop()    # démarrage du réceptionnaire d'événements
    fen1.destroy()  # destruction (fermeture) de la fenêtre
    A+

    Pfeuh

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 27
    Points : 20
    Points
    20
    Par défaut
    merci de ta reponse... pour l'encodage je verrai ca plus tard, ce n'est pas le problème le plus grave. par contre la ligne 33 n'est elle pas necessaire???

  4. #4
    Membre expérimenté
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    946
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 946
    Points : 1 351
    Points
    1 351
    Par défaut
    Sur le code que tu as publié,

    ligne 33
    31
    ligne 34
    Ces dessins pourront éventuellement être animés dans une phase ultérieure (voir plus loin)92 Utilisation de fenêtres et de graphismes

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 27
    Points : 20
    Points
    20
    Par défaut
    .... si je comprends ton raisonnement tu zappes en fait la fonction pour changer de couleur c est bien ca?

    ah ok my fault, je viens de comprendre ton post.

    ok bon si tu me dis que tout fonctionne de ton côté alors c'est de moi que viens le problème.

    je posterai ma "recopie" ce soir pour voir d'où vient mon erreur. merci!

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 27
    Points : 20
    Points
    20
    Par défaut
    bon apres reverification j'ai fait un simple copier coller et effectivement ca passe....
    ben j'ai du me louper quelque part....

    merci de l'aide @++

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

Discussions similaires

  1. [CS5] Demande d'assistance sur mon site.
    Par Mickael33 dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 02/09/2010, 17h31
  2. Demande d'assistance sur delphi
    Par saiad87alg dans le forum Langage
    Réponses: 7
    Dernier message: 30/03/2010, 23h54

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