Pourquoi rien ne se déclenche (python 2.4)
calamar31
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
voici le problème : le boutton que j'ai placé est censé faire que message s'affiche par l'intermédiaire de messagelabel
voici le code:
# -*- coding: cp1252 -*-
#All pythagore V3 (GUI)#
#importation de tkinter et math#
from Tkinter import *
from math import pow
#création des fonctions du programme#
def rectangleoupas(cote1,cote2,cote3):
if (pow(float(cote3),2)==pow(float(cote2),2)+pow(float(cote1),2)):
message = "le triangle de cote " , str(cote1) , " , " , str(cote2) , " , " , str(cote3) , "est rectangle. "
if (pow(float(cote2),2))==pow(float(cote3),2)+pow(float(cote1),2):
message = "le triangle de cote " , str(cote1) , " , " , str(cote2) , " , " , str(cote3) , "est rectangle. "
if (pow(float(cote1),2))==pow(float(cote2),2)+pow(float(cote3),2):
message = "le triangle de cote " , str(cote1) , " , " , str(cote2) , " , " , str(cote3) , "est rectangle. "
if (pow(float(cote3),2)!=pow(float(cote2),2)+pow(float(cote1),2)and pow(float(cote2),2)!=pow(float(cote3),2)+pow(float(cote1),2)and pow(float(cote1),2)!=pow(float(cote2),2)+pow(float(cote3),2)):
message = "le triangle de cote " , str(cote1) , " , " , str(cote2) , " , " , str(cote3) , "n'est pas rectangle. "
#création des variables#
opaf=0 #opaf = opération a faire#
message="" #message est la variable qui affichera le résultat#
cote1=1
cote2=1
cote3=1
#début du programme#
fenetre = Tk()
fenetre.title("all pythagore V3")
labelcote1=Label(fenetre,text="entrer la cote 1")
entrecote1=Entry(fenetre)
labelcote2=Label(fenetre,text="entrer la cote 2")
entrecote2=Entry(fenetre)
labelcote3=Label(fenetre,text="entrer la cote 3")
entrecote3=Entry(fenetre)
boutton1=Button(fenetre,text="Alors?",command = rectangleoupas(cote1,cote2,cote3))
messagelabel=Label(fenetre,textvariable = message)
labelcote1.grid(row=0,column=0)
entrecote1.grid(row=0,column=1)
labelcote2.grid(row=1,column=0)
entrecote2.grid(row=1,column=1)
labelcote3.grid(row=2,column=0)
entrecote3.grid(row=2,column=1)
boutton1.grid(row=3,column=1)
messagelabel.grid(row=4,column=1)
cote1=entrecote1.get()
cote2=entrecote2.get()
cote3=entrecote3.get()
fenetre.mainloop()
pouvez-vous me dire pourquoi rien ne se passe?
merci
voici le problème : le boutton que j'ai placé est censé faire que message s'affiche par l'intermédiaire de messagelabel
voici le code:
# -*- coding: cp1252 -*-
#All pythagore V3 (GUI)#
#importation de tkinter et math#
from Tkinter import *
from math import pow
#création des fonctions du programme#
def rectangleoupas(cote1,cote2,cote3):
if (pow(float(cote3),2)==pow(float(cote2),2)+pow(float(cote1),2)):
message = "le triangle de cote " , str(cote1) , " , " , str(cote2) , " , " , str(cote3) , "est rectangle. "
if (pow(float(cote2),2))==pow(float(cote3),2)+pow(float(cote1),2):
message = "le triangle de cote " , str(cote1) , " , " , str(cote2) , " , " , str(cote3) , "est rectangle. "
if (pow(float(cote1),2))==pow(float(cote2),2)+pow(float(cote3),2):
message = "le triangle de cote " , str(cote1) , " , " , str(cote2) , " , " , str(cote3) , "est rectangle. "
if (pow(float(cote3),2)!=pow(float(cote2),2)+pow(float(cote1),2)and pow(float(cote2),2)!=pow(float(cote3),2)+pow(float(cote1),2)and pow(float(cote1),2)!=pow(float(cote2),2)+pow(float(cote3),2)):
message = "le triangle de cote " , str(cote1) , " , " , str(cote2) , " , " , str(cote3) , "n'est pas rectangle. "
#création des variables#
opaf=0 #opaf = opération a faire#
message="" #message est la variable qui affichera le résultat#
cote1=1
cote2=1
cote3=1
#début du programme#
fenetre = Tk()
fenetre.title("all pythagore V3")
labelcote1=Label(fenetre,text="entrer la cote 1")
entrecote1=Entry(fenetre)
labelcote2=Label(fenetre,text="entrer la cote 2")
entrecote2=Entry(fenetre)
labelcote3=Label(fenetre,text="entrer la cote 3")
entrecote3=Entry(fenetre)
boutton1=Button(fenetre,text="Alors?",command = rectangleoupas(cote1,cote2,cote3))
messagelabel=Label(fenetre,textvariable = message)
labelcote1.grid(row=0,column=0)
entrecote1.grid(row=0,column=1)
labelcote2.grid(row=1,column=0)
entrecote2.grid(row=1,column=1)
labelcote3.grid(row=2,column=0)
entrecote3.grid(row=2,column=1)
boutton1.grid(row=3,column=1)
messagelabel.grid(row=4,column=1)
cote1=entrecote1.get()
cote2=entrecote2.get()
cote3=entrecote3.get()
fenetre.mainloop()
pouvez-vous me dire pourquoi rien ne se passe?
merci
A voir également:
- Pourquoi rien ne se déclenche (python 2.4)
- Citizen code python avis - Accueil - Outils
- Telecharger manycam 2.4 gratuit - Télécharger - TV & Vidéo
- Python pix ✓ - Forum Python
- Mot secret python pix ✓ - Forum Python
- Programme python ✓ - Forum Python
1 réponse
Plusieurs erreurs!
1)
Pas d'arguments après une fonction.
Comment je fais alors si j'ai des arguments?
T'utilises lambda
ce qui donne
2) la méthode get() d'entry retourne un string
3) plutôt que la fonction pow() qui rend moche ton code, mieux vaut **2
4) A quoi te sert d'initialiser tes cotes à 1?
Réponse : A rien!
Corrige tout ça déjà
1)
boutton1=Button(fenetre,text="Alors?",command = rectangleoupas(cote1,cote2,cote3))
Pas d'arguments après une fonction.
Comment je fais alors si j'ai des arguments?
T'utilises lambda
ce qui donne
boutton1=Button(fenetre,text="Alors?",command =lambda: rectangleoupas(cote1,cote2,cote3))
2) la méthode get() d'entry retourne un string
3) plutôt que la fonction pow() qui rend moche ton code, mieux vaut **2
pow(3, 2) # --> 3**2
4) A quoi te sert d'initialiser tes cotes à 1?
Réponse : A rien!
Corrige tout ça déjà