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 :

python Tkinter - [help] affichage d'une suite de nombre aleatoire (sudoku) avec le widget Canvas


Sujet :

Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 2
    Points : 5
    Points
    5
    Par défaut python Tkinter - [help] affichage d'une suite de nombre aleatoire (sudoku) avec le widget Canvas
    bonjour,
    je suis en terminale option ISN et nous avons le projet de programmer un sudoku en PHP et Python.
    je m'occupe de la partie python
    je suis en Python 3.2
    j'ai deja ma grile mais j'ai un petit soucis au niveau de mes nombre aleatoire avec Canvas
    il y a deux fonction :
    shuffle: ma liste de nombre entier aleatoire de 1 a 9
    coordoonnee: mes differentes positions pour mes nombre aleatoire

    je pense que le probleme viens de l'affichage avec Tkinter
    le Canvas au niveau du button me semble incorrect mais je ne trouve pas de solution
    (je ne souhaite pas garder le bouton si vous connaissez comment affichez corectement !)

    je vous en serais tres reconnaissant !

    Tkinter 3.2
    _______________________________________________________________________________________________________
    _______________________________________________________________________________________________________

    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
    47
    from tkinter import *
    import random
     
    def shuffle(x): #liste de nombre aleatoire de 1 a 9
     
        x=list(x)
        random.shuffle(x)
        return x
     
    x = range(10)
    y = shuffle(x)
     
    print(y)   #y[] place des nombres dans ma suite aleatoire
     
    def coordonnee():  #different carre dans le sudoku
        A1=B4=C7=D6=E9=F3=G5=H8=I2=y[0]     #1er temer de ma suite aleatoire
        A2=B5=C8=D1=E4=F7=G6=H9=I3=y[1]
        A3=B6=C9=D2=E5=F8=G1=H4=I7=y[2]
        A7=B1=C4=D3=E6=F9=G2=H5=I8=y[3]
        A8=B2=C5=D7=E1=F4=G3=H6=I9=y[4]
        A9=B3=C6=D8=E2=F5=G7=H1=I4=y[5]
        A4=B7=C1=D9=E3=F6=G8=H2=I5=y[6]
        A5=B8=C2=D4=E7=F1=G9=H3=I6=y[7]
        A6=B9=C3=D5=E8=F2=G4=H7=I1=y[8]
     
        carre1=fond.create_text(20,20,text=A1)     #coordonnee avec Canvas
        carre2=fond.create_text(40,20,text=A2)
        carre3=fond.create_text(60,20,text=A3)
        carre4=fond.create_text(20,40,text=B1)
        carre5=fond.create_text(40,40,text=B2)
        carre6=fond.create_text(60,40,text=B3)
        carre7=fond.create_text(20,60,text=C1)
        carre8=fond.create_text(40,60,text=C2)
        carre9=fond.create_text(60,60,text=C3)
     
        shuffle(x)
     
     
     
    fen=Tk()
     
    fond=Canvas(fen,width=650,height=650,bg="white")
    fond.pack()
    nombre=Button(fond,text='affiche', command=coordonnee)
    nombre.pack()
     
    fen.mainloop()
    _______________________________________________________________________________________
    _______________________________________________________________________________________

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur banc de test
    Inscrit en
    Mai 2014
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur banc de test
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2014
    Messages : 199
    Points : 482
    Points
    482
    Par défaut
    Bonjour,

    Merci de bien vouloir utiliser les balises [CODE][/CODE] pour conserver l’indentation et afficher la coloration syntaxique de ton code.


    Le problème vient d'ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nombre = Button(fond, text='affiche', command=coordonnee)
    Le bouton doit être placé dans la fenêtre fen.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nombre = Button(fen, text='affiche', command=coordonnee)
    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
    47
    # Python 3
    from tkinter import *
    import random
     
    def shuffle(x): #liste de nombre aleatoire de 1 a 9
        x = list(x)
        random.shuffle(x)
        return x
     
    def coordonnee(): #different carre dans le sudoku
        A1  = B4 = C7 = D6 = E9 = F3 = G5 = H8 = I2 = y[0] #1er terme de ma suite aléatoire
        A2  = B5 = C8 = D1 = E4 = F7 = G6 = H9 = I3 = y[1]
        A3  = B6 = C9 = D2 = E5 = F8 = G1 = H4 = I7 = y[2]
        A7  = B1 = C4 = D3 = E6 = F9 = G2 = H5 = I8 = y[3]
        A8  = B2 = C5 = D7 = E1 = F4 = G3 = H6 = I9 = y[4]
        A9  = B3 = C6 = D8 = E2 = F5 = G7 = H1 = I4 = y[5]
        A4  = B7 = C1 = D9 = E3 = F6 = G8 = H2 = I5 = y[6]
        A5  = B8 = C2 = D4 = E7 = F1 = G9 = H3 = I6 = y[7]
        A6  = B9 = C3 = D5 = E8 = F2 = G4 = H7 = I1 = y[8]
     
        carre1 = fond.create_text(20, 20, text=A1) #coordonnee avec Canvas
        carre2 = fond.create_text(40, 20, text=A2)
        carre3 = fond.create_text(60, 20, text=A3)
        carre4 = fond.create_text(20, 40, text=B1)
        carre5 = fond.create_text(40, 40, text=B2)
        carre6 = fond.create_text(60, 40, text=B3)
        carre7 = fond.create_text(20, 60, text=C1)
        carre8 = fond.create_text(40, 60, text=C2)
        carre9 = fond.create_text(60, 60, text=C3)
     
    if __name__ == '__main__':
     
        x = range(10)
        y = shuffle(x)
     
        print(y) #y[] place des nombres dans ma suite aleatoire
     
        shuffle(x)
     
        fen = Tk()
     
        fond = Canvas(fen, width=650, height=650, bg="white")
        fond.pack()
        nombre = Button(fen, text='affiche', command=coordonnee)
        nombre.pack()
     
        fen.mainloop()
    Bonne continuation,

Discussions similaires

  1. Help - Affichage sur une ligne et pas 36 !
    Par fabrice_nc dans le forum Cognos
    Réponses: 3
    Dernier message: 10/04/2009, 02h15
  2. [RegEx] Recherche dans une suite de nombres
    Par alibab dans le forum Langage
    Réponses: 11
    Dernier message: 20/09/2007, 08h04
  3. afficher une suite de nombres dans une string
    Par hysah dans le forum C++
    Réponses: 4
    Dernier message: 27/04/2006, 18h51
  4. [Python] Chargement et affichage d'une image
    Par Corpio dans le forum OpenGL
    Réponses: 10
    Dernier message: 13/04/2006, 17h35
  5. Réponses: 8
    Dernier message: 02/12/2005, 18h07

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