Bonjour, je suis en terminale S spé ISN et je dois adapter mon pendu avec Tkinter pour l'interface graphique mais je n'arrive pas à ce que la lettre qui est entré dans le "Entry" sois affecté à la variable "lettre". Pourriez vous m'aidez ou m'expliquer comment fonctionne le widget "Entry" et le "get()" ? Merci par avance !
Si vous avez des conseils ou quoi que ce sois d'autre je suis preneur également !
Mon code avec Tkinter :
Mon pendu sous forme texte :
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 from tkinter import * #import tkMessageBox liste_lettre=['a','z','e','r','t','y','u','i','o','p','q','s','d','f','g','h','j','k','l','m','w','x','c','v','b','n','A','Z','E','R','T','Y','U','I','O','P','Q','S','D','F','G','H','J','K','L','M','W','X','C','V','B','N'] def recuperer(): Lettre = lettre.get() def choix_lettre(): if lettre in liste_lettre: lettres_utilisees.append(lettre) entry_1.destroy entry_1=Entry(fenetre, textvariable=lettre) entry_1.pack() lettres_utilisees=[] toutes_positions=[] fenetre = Tk() fenetre.title('Pendu v1.0') bouton_quit=Button(fenetre, text='Quitter', command=fenetre.destroy) bouton_quit.pack(side=BOTTOM) lettre=StringVar() entry_1=Entry(fenetre, textvariable=lettre) entry_1.pack() bouton_l=Button(fenetre, text='Valider', command=recuperer) bouton_l.pack() choix_lettre() canvas=Canvas(fenetre, width=150, height=120, bg='grey') canvas.pack() fenetre.mainloop()
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 #Pendu V(0.1) import random from tkinter import * def choix_lettre(): lettre=input("Choisissez une lettre : ") lettre=lettre.lower() if len(lettre) !=1: print ("Ne choisissez qu'une seule lettre !") lettre=input("Veuillez entrer une lettre : ") if lettre in lettres_utilisees: print ("Vous avez déjà saisis cette lettre !") lettre=input("Veuillez en choisir une autre : ") return lettre def lettre_du_mot(lettre,mot): position=[] compteur= 0 for lettre_mot in mot: if lettre_mot==lettre: position.append(compteur) compteur=compteur+1 return position def mot_afficher(position,mot): mot_affiche='' compteur=0 for lettre_mot in mot: if compteur in position: mot_affiche=mot_affiche+lettre_mot else: mot_affiche=mot_affiche+'-' compteur=compteur+1 return mot_affiche liste_de_mot=["kebab","mort","jeux","mot","amour","joue","cou","vide","vif","grenier","orage","tromper","guitar","chinois","noir","blanc","vert","billet","drogue","cigarette","gauloise","tigre","chat","chien"] mot=random.choice(liste_de_mot) chance = 8 lettres_utilisees=[] toutes_positions=[] while chance>0: print ("Il vous reste",chance,"chances.") lettre=choix_lettre() lettres_utilisees.append(lettre) print ("Vous avez déjà utlisés les lettres :",lettres_utilisees,) position=lettre_du_mot(lettre,mot) toutes_positions=position+toutes_positions mot_a_afficher=mot_afficher(toutes_positions,mot) print (mot_a_afficher) if lettre in mot: print ("Bien joué") else: print ("La lettre n'est pas dans le mot") chance=chance-1 if mot_a_afficher==mot: break
Partager