Aide Python (facile)
Icsy-Watermelon
Messages postés
253
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'essaye de faire un programme tout simple mais je suis coincé, je ne trouve pas mon erreur, donc j'ai cherché et j'ai que cela venait du fait que j'ais mis un .set dans une condition if.
Si vous auriez de l'aide ^^
Merci
J'essaye de faire un programme tout simple mais je suis coincé, je ne trouve pas mon erreur, donc j'ai cherché et j'ai que cela venait du fait que j'ais mis un .set dans une condition if.
Si vous auriez de l'aide ^^
Merci
from tkinter import * import random wind = Tk() r = random.randint(1,2) molec = StringVar() if r == 1: molec.set('CH3-CH2-CH2-CH3') elif r == 2: molec.set('CH3-CH2-OH') lbl_molec = Label(wind, textvariable = molec) lbl_molec.pack() rep_alcane = IntVar() rep_alcool = IntVar() rep = IntVar() def rep_alcane(): rep.set(1) def rep_alcool(): rep.set(2) b_alcane = Button(wind, text = 'Alcane', command = rep_alcane) b_alcane.pack() b_alcool = Button(wind, text = 'Alcool', command = rep_alcool) b_alcool.pack() status = StringVar() if rep == 1 and r == 1: status.set("Gagné") elif rep == 2 and r == 2: status.set("Perdu") lbl_status = Label(wind, textvariable = status) lbl_status.pack() wind.mainloop()
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Aide Python (facile)
- Citizen code python avis - Accueil - Outils
- Mot secret python pix ✓ - Forum Python
- Python est introuvable. exúcutez sans argument pour procúder ó l ✓ - Forum Python
- Python par la pratique : 101 exercices corrigés pdf - Forum Python
- Exercice python - Forum Python
1 réponse
Salut,
Le problème, c'est que tu regardes la réponse de l'utilisateur au mauvais moment. En fait, dans ton programme c'est fait après la création de tes deux boutons (et avant l'affichage de la fenêtre).
Pour mieux faire, il faut mettre ce bloc :
dans les fonctions :
A noter que ta variable "rep" ne sert donc pas à grand chose (si tu le vois pas, c'est pas bien grave).
Le problème, c'est que tu regardes la réponse de l'utilisateur au mauvais moment. En fait, dans ton programme c'est fait après la création de tes deux boutons (et avant l'affichage de la fenêtre).
Pour mieux faire, il faut mettre ce bloc :
if rep == 1 and r == 1: status.set("Gagné") elif rep == 2 and r == 2: status.set("Perdu")
dans les fonctions :
def rep_alcane(): rep.set(1) def rep_alcool(): rep.set(2)
A noter que ta variable "rep" ne sert donc pas à grand chose (si tu le vois pas, c'est pas bien grave).
Mon changement :
C'est beaucoup plus clair ainsi.
C'est pour ça qu'il faut que tu mettes ce code dans une fonction car elle sera appelée quand l'utilisateur appuiera effectivement sur un bouton.