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

Tkinter Python Discussion :

Probleme cour python


Sujet :

Tkinter Python

  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 59
    Par défaut Probleme cour python
    Bonjour je suis entrain de parcourir ce cours Python : tuto Swinnen sur python au chapitre 8 je teste les 2 premier programme et une fois enregistré, j'essaye de le demarrer sa ouvre une fenetre comme celle de la console pendant 1seconde puis sa se refermer sans lancer la fenetre avec l'interface graphique! quelqu'un pourai m'aider
    voici le code du programme que j'ai recopier
    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
    40
    41
    42
    from Tkinter import *
     
    def cerle(x, y, r, coul ='black'):
        "tracé d'un cercle (x,y) et de rayon r"
        can.create_oval(x-r, y-r, x+r, y+r, outline=coul)
     
    def figure_1():
        "dessiner une cible"
        can.delete(ALL)
        can.create_line(100, 0, 100, 200, fill ='blue')
        can.create_line(0, 100, 200, 100, fill ='blue')
        rayon = 15
        while rayon < 100:
            cerle(100, 100, rayon)
            rayon += 15
     
    def figure_2():
        "dessiner un visage simplifier"
        can.delete(ALL)
        cc =[[100, 100, 80, 'red'],
    	     [70, 70, 15, 'blue'],
    		 [130, 70, 15, 'blue'],
    		 [70, 70, 5, 'black'],
    		 [130, 70, 5, 'black'],
    		 [44, 115, 20, 'red'],
    		 [156, 115, 20, 'red'],
    		 [100, 95, 15, 'purple'],
    		 [100, 145, 30, 'purple']]
    	i =0
    	while i < len(cc):
    	    el = cc[i]
    	    cercle(el[0], el[1], el[2], el[3])
    	    i += 1
     
    fen = Tk()
    can = Canvas(fen, wigth =200, height =200, bg ='ivory')
    can.pack(side =TOP, padx =5, pady =5)
    b1 = Button(fen, text='dessin 1', command =figure_1)
    b1.pack(side =LEFT, padx =3, pady =3)
    b2 = Button(fen, text ='dessin 2', command =figure_2)
    b2.pack(side =RIGHT, padx =3, pady =3)
    fen.mainloop()

  2. #2
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    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 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    - un problème d'indentation de:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	i =0
    	while i < len(cc):
    	    el = cc[i]
    	    cercle(el[0], el[1], el[2], el[3])
    	    i += 1
    - et "wigth" est inconnu: c'est width.

    En principe, ton outil de développement devrait te dire ça tout de suite.

    Tyrtamos

    [edit]: et bonjour voisin!

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 59
    Par défaut
    deja merci pour ta réponse j'ai corriger mais sa ne change rien, je developpe python avec phpdesigner 2007 ! par contre je comprend pas le probleme avec indentation kes ki n'est pa bon? la je vien de faire le code de la calculatrice et sa ne marche pa non plus je comprend rien a python
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    from Tkinter import *
    from math import *
     
    def evaluer(event):
        chaine.configure(text = "Résultat = " + str(eval(entree.get())))
     
    fenetre = Tk()
    entree = Entry(fenetre)
    entree.bind("<Return>", evaluer)
    chaine = Label(fenetre)
    entree.pack()
    chaine.pack()
     
    fenetre.mainloop()

  4. #4
    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
    Citation Envoyé par mali_67 Voir le message
    deja merci pour ta réponse j'ai corriger mais sa ne change rien, je developpe python avec phpdesigner 2007
    Moi je connais pas phpdesigner, mais un conseil, télécharge la version 2.5.2 et utilse IDLE ou sinon tu peux aussi utiliser wing ware. C'est celui que j'utilise et franchement il est nickel.

    Citation Envoyé par mali_67 Voir le message
    la je vien de faire le code de la calculatrice et sa ne marche pa non plus
    Depuis la version 2.3 de python tu dois déclarer le type de codage (accent...). Dans ton cas c'est "Résultat" qui te gêne. Avant les imports tu dois mettre:
    Voir page 40 du tuto que tu as.

    Citation Envoyé par mali_67 Voir le message
    je comprend rien a python
    Moi je viens de VB. Je n'ai qu'un seul regret...
    ... Ne pas avoir connu Python plutôt.
    Persévère, et tu verras c'est vraiment le top et c'est super simple.

    Bon courage.
    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

  5. #5
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    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 486
    Billets dans le blog
    6
    Par défaut
    Chaque langage a ses particularités. Chez Python, l'indentation remplace les "{" et "}" du C, tu peux donc imaginer à quel point c'est important: une erreur d'indentation change la logique du programme. Et quand l'indentation ne correspond à aucune logique, c'est une erreur (c'est ce qui t'arrive).

    En général, on prend 4 espaces pour un décalage, et il vaut mieux ne pas mélanger les espaces et les tabulations.

    Il faut utiliser un outil de développement qui te montre des erreurs par rapport aux règles Python, sinon tu vas perdre du temps. Essaye d'utiliser simplement "idle" qui est la console de développement livrée avec Python. C'est ce que j'ai utilisé pour savoir ce qui n'allait pas dans ton code, et j'ai trouvé en 15 secondes.

    Concernant le pb d'indentation signalé, voilà ton code corrigé:

    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
    def figure_2():
        "dessiner un visage simplifier"
        can.delete(ALL)
        cc =[[100, 100, 80, 'red'],
            [70, 70, 15, 'blue'],
            [130, 70, 15, 'blue'],
            [70, 70, 5, 'black'],
            [130, 70, 5, 'black'],
            [44, 115, 20, 'red'],
            [156, 115, 20, 'red'],
            [100, 95, 15, 'purple'],
            [100, 145, 30, 'purple']]
        i =0
        while i < len(cc):
            el = cc[i]
            cercle(el[0], el[1], el[2], el[3])
            i += 1
    J'ai non seulement réaligné le i= et le while sur cc=, mais j'ai remplacé les tabulations par des espaces (4 par indentation).

    Sur les outils de développement Python comme idle, il y a même des fonctions de conversion automatique des tabulations en espaces.

    Tyrtamos

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 59
    Par défaut
    sa va peutre vous paraitre debile mais je sais pas comment ouvrir le IDLE
    a chak fois je fait click droit sur un .py et je fait edit width IDLE mais sa ne permet pas de créer un prog vierge! Et j'ai ouvert mon prog avec IDLE(avec le clik droit) mais je ne vois pas les erreur je doit etre polio

  7. #7
    Expert confirmé
    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 : 44
    Localisation : France, Saône et Loire (Bourgogne)

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

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864

  8. #8
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 59
    Par défaut
    oui merci guigi dme rapeler sa je l'avai lu vendredi je vien de rajouter raw_imput mais la fentre se ferme kan mm! je comprend pa!

  9. #9
    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
    Voici ton code corrigé:

    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
    40
    41
    42
    43
    #-*- coding:Utf-8 -*-
    from Tkinter import *
     
    def cercle(x, y, r, coul ='black'):
        "tracé d'un cercle (x,y) et de rayon r"
        can.create_oval(x-r, y-r, x+r, y+r, outline=coul)
     
    def figure_1():
        "dessiner une cible"
        can.delete(ALL)
        can.create_line(100, 0, 100, 200, fill ='blue')
        can.create_line(0, 100, 200, 100, fill ='blue')
        rayon = 15
        while rayon < 100:
            cercle(100, 100, rayon)
            rayon += 15
     
    def figure_2():
        "dessiner un visage simplifier"
        can.delete(ALL)
        cc = [[100, 100, 80, 'red'],
    	  [70, 70, 15, 'blue'],
    	  [130, 70, 15, 'blue'],
    	  [70, 70, 5, 'black'],
    	  [130, 70, 5, 'black'],
    	  [44, 115, 20, 'red'],
    	  [156, 115, 20, 'red'],
    	  [100, 95, 15, 'purple'],
    	  [100, 145, 30, 'purple']]
        i =0
        while i < len(cc):
    	el = cc[i]
    	cercle(el[0], el[1], el[2], el[3])
    	i += 1
     
    fen = Tk()
    can = Canvas(fen, width =200, height =200, bg ='ivory')
    can.pack(side =TOP, padx =5, pady =5)
    b1 = Button(fen, text='dessin 1', command =figure_1)
    b1.pack(side =LEFT, padx =3, pady =3)
    b2 = Button(fen, text ='dessin 2', command =figure_2)
    b2.pack(side =RIGHT, padx =3, pady =3)
    fen.mainloop()
    A noter les erreurs suivantes:

    tu as créé def cerle. Tu l'appelles dans figure_1 et dans figure_2 tu appelles cercle.
    A la ligne 37 tu as noté wigth au lieu de width.

    Utilise wingware ou idle. Ça pourra certainement t'aider.

    Perso je te conseille wingware.
    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

  10. #10
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 59
    Par défaut
    merci jiyuu j'ai essayer ton corriger dans IDLE mais j'ai toujour le même probleme, lorsque je double click sur mon .py la fenetre de la console s'ouvre pendant 1seconde et c tout! J'ai télécharger un dossier sur un site avec plein d'exemple d'exo en .py et je n'arrive non plus a les ouvrir! je ne trouve toujour pas de solution j'ai surement un prob avec Tkinter mais c'est bizar parcke j'arrive quand mm a ouvrir certain prog avec Tk je comprend pas!

  11. #11
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    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 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Ce qui t'arrive est normal. Le code comporte encore un pb: mélange d'espaces et de tabulations pour les indentations. Comme cela génère une erreur d'exécution, ton double-clic:
    - démarre une console,
    - puis l'interpréteur Python,
    - qui tente d'exécuter ton code,
    - détecte l'erreur,
    - s'arrête,
    - et la console s'arrête!
    Tout ceci en 1/10 de seconde.

    Ce n'est pas comme ça qu'il faut faire: il faut démarrer la console Python idle. Si tu n'as pas d'icône sur ton bureau, fabriques-en une: pour Windows, idle se trouve ici: C:\Python25\Lib\idlelib\idle.pyw. Au lancement, il vient une console à l'écran avec l'interpréteur Python en fonctionnement. Ensuite, tu charges ton fichier avec cette console et tu demandes son exécution avec F5 ou le run du menu. Chaque erreur (s'il y en a) se verra alors sur la console idle. De plus, ton code aura des couleurs qui correspondent à la syntaxe Python.

    Pour que tu puisses essayer, je te redonne le code de Jiyuu dans lequel toutes les tabulations ont été traduites en espaces (je l'ai d'ailleurs fait avec idle):

    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
    40
    41
    42
    43
    44
    45
    46
     
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
     
    from Tkinter import *
     
    def cercle(x, y, r, coul ='black'):
        "tracé d'un cercle (x,y) et de rayon r"
        can.create_oval(x-r, y-r, x+r, y+r, outline=coul)
     
    def figure_1():
        "dessiner une cible"
        can.delete(ALL)
        can.create_line(100, 0, 100, 200, fill ='blue')
        can.create_line(0, 100, 200, 100, fill ='blue')
        rayon = 15
        while rayon < 100:
            cercle(100, 100, rayon)
            rayon += 15
     
    def figure_2():
        "dessiner un visage simplifier"
        can.delete(ALL)
        cc = [[100, 100, 80, 'red'],
          [70, 70, 15, 'blue'],
          [130, 70, 15, 'blue'],
          [70, 70, 5, 'black'],
          [130, 70, 5, 'black'],
          [44, 115, 20, 'red'],
          [156, 115, 20, 'red'],
          [100, 95, 15, 'purple'],
          [100, 145, 30, 'purple']]
        i =0
        while i < len(cc):
            el = cc[i]
            cercle(el[0], el[1], el[2], el[3])
            i += 1
     
    fen = Tk()
    can = Canvas(fen, width =200, height =200, bg ='ivory')
    can.pack(side =TOP, padx =5, pady =5)
    b1 = Button(fen, text='dessin 1', command =figure_1)
    b1.pack(side =LEFT, padx =3, pady =3)
    b2 = Button(fen, text ='dessin 2', command =figure_2)
    b2.pack(side =RIGHT, padx =3, pady =3)
    fen.mainloop()
    Tyrtamos

  12. #12
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 59
    Par défaut
    j'ai fais se que tu ma dit il y as une erreur des la premiere ligne je montre un screen de l'erreur et aussi lorsque j'enregistre on me demande quelquechose avec l'encodage je dois laisse par default?
    Images attachées Images attachées   

  13. #13
    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
    Si je fais un copier-coller du code que je t'ai donné dans un doc vierge et qu'ensuite je le lance avec un double-clic, ça marche pour moi.

    Tu es sûr que ton installation de Python est correct. Par acquis de conscience tu peux peut-être en refaire une.

    Dans tous les cas et comme tyrtamos te l'a indiqué, utilise idle ou un autre ide python et utilise F5 pour faire des essais. Ça te permettra de voir rapidement où se trouvent tes erreurs.

    Voir aussi les Cours et tutoriels pour apprendre la programmation Python
    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

  14. #14
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    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 486
    Billets dans le blog
    6
    Par défaut
    Quand tu es dans la console idle, il faut:

    1- charger ton fichier avec le menu "file -> open". Il vient alors une 2ème fenêtre avec ton code.

    2- dans cette fenêtre, demander l'exécution de ton code avec f5

    et non le mettre dans l'interpréteur en copier-coller comme tu l'as fait.

    Courage, tu es près du résultat.

    Tyrtamos

  15. #15
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 59
    Par défaut
    alor je vien de réinstaller python :
    -lorsque je j'ouvre un fichier comme tu me la conseiller Tyrtamos je lance le run et j'ai message d'erreur sur la syntaxe a la premiere ligne comm dans le screen que j'ai poster le message précedent
    -ensuite j'ai fais comme Jiyuu copier-coller son code dans un fichier texte et kan je double clik sa marche mais j'ai bien verifier mon ancien exemple c le même sauf qu'il y a tout en haut sa en plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [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.2.1      
    >>> #!/usr/bin/python
    et c'est la qu'es mon erreur je crois mais bon je ne peu pas coder tout mes prog dans le bloc note je n'arriverai pas as trouver les erreur etc..
    enfin jvai essayer de refaire tout mes exemple avec IDLE et je vous dirait le resultat!! merci encor pour votre aide

  16. #16
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 59
    Par défaut
    Je crois que j'ai trouver le pourquoi du comment j'étais entrain de refaire mpon programme de calculatrice sa ne marché pas, alor j'ai supprimer toute les ligne avant le from(tout le paragraphe avec python 2.5.1 etc...) et la sa marche!!! tand mieu merci de votre aide surtout que j'ai pris beaucoup de retard avec ce probleme de ....
    Par contre j'ai encor un petit souci sur un prog
    je lance le run et je ne comprend pa l'erreur
    voici mon code et voici le screen de l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #-*- coding:Utf-8 -*-
    from Tkinter import *
     
    def pointeur(event):
        chaine.configure(text = "Clic détécté en X =" + str(event.x) +\", Y=" +str(event.y))
     
    fen = Tk()
    cadre = Frame(fen, width =200, heigth =150, bg="light yellow")
    cadre.bind("<Button-1>", pointeur)
    cadre.pack()
    chaine =Label(fen)
    chaine.pack()
     
    fen.mainloop()
    Images attachées Images attachées  

  17. #17
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    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 486
    Billets dans le blog
    6
    Par défaut
    A mon avis, c'est ton \" qui provoque l'erreur.

    Tyrtamos

  18. #18
    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
    Je confirme. le symbole "\" désigne un retour à la ligne. Cela évite d'avoir des lignes de codes trop longue.

    Si tu le mets il faut que tu passes à la ligne en appuyant sur Entrer. Normalement l'indentation se fait automatiquement.

    Mais il y a aussi une autre erreur à la ligne 8.
    Tu as écris "heigth" alors que c'est "height"

    Après ça marche.

    Tu vas dire que je suis c....t, mais as-tu essayé le logiciel wingware???
    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

  19. #19
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 59
    Par défaut
    c'étais bien le "\ qui provoquer l'erreur!
    et je n'ai pas essayé le logiciel Wingware je vais le télecharger voir se que sa donne par contre encor un dernier programme qui ne marche pas
    lors du lancement du run j'ai une fenetre python shell qui s'ouvre mais je n'ai pas d'erreur!!
    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
    #-*- coding:Utf-8 -*-
    from Tkinter import *
    from random import randrange
     
     
    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)
     
        y2, y1 = y2+10, y1-10
     
    def changecolor():
        "Changement aléatoire de la couleur du tracé"
        global coul
        pal=['purpel','cyan','maroon','green','red','blue','orange','yellow']
        c = randrange(8) 
        coul = pal[c]
     
     
        x1, y1, x2, y2 = 10, 190, 190, 10
        coul = 'dark green' 
     
        fen1 = Tk()
     
        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()
     
        fen1.destroy()

  20. #20
    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
    Toujours un problème d'indentation...

    Comme tu as écrit ton programme tout ce qui est sous def changecolor(): en fait parti.
    Hors à partir de x1, y1... c'est ton programme principal qui doit commencer.

    Il faut que tout ce qui se trouve à partir de x1, y1...
    soit au même niveau que tes fonctions.


    Pour la peine tu me copieras 100 fois "Ne pas oublier les problèmes d'indentation"

    [edit]
    Attention aussi à l'orthographe des couleurs...
    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

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. probleme de Python debutant
    Par billates dans le forum Général Python
    Réponses: 7
    Dernier message: 01/05/2011, 23h31
  2. Recherche cours python !
    Par jujulips dans le forum Général Python
    Réponses: 2
    Dernier message: 13/03/2011, 12h19
  3. avis cours python classe de seconde
    Par dav74 dans le forum Général Python
    Réponses: 23
    Dernier message: 02/04/2009, 11h59

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