Opérations sur les cases Entry
Bonjour,
Mon problème du jour...est électrique, une histoire de tensions et de résistances :
Code:
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
| from tkinter import*
def tension(event) :
"Entrée de la valeur de la tension, exprimée en Volts"
global t
t = (eval(champT.get()))
chT.configure(text='tension = ' + str(t))
if r :
i = t/r
chI.configure(text="L'intensité est donc \nde " + str(i) + " ampères")
def resistance(event) :
"Entrée de la valeur de la résistance, exprimée en Ohms"
global r
r = (eval(champR.get()))
chR.configure(text='résistance = ' + str(r))
i = t/r
chI.configure(text="L'intensité électrique \nest donc de " + str(i) + " ampères"
fen = Tk()
fen.title('Schéma électrique simple')
can = Canvas(fen,bg='white',width=1000,height=700)
can.grid(column=1,row=1,rowspan=6)
Label(fen,text='Tension \n(en volts)').grid(row=1,column=2)
champT = Entry(fen)
champT.bind("<Return>",tension)
champT.grid(row=1,column=3)
chT = Label(fen)
chT.grid(row=2,column=3)
Label(fen,text='Résistance \n(en Ohms)').grid(row=3,column=2)
champR = Entry(fen)
champR.bind("<Return>",resistance)
champR.grid(row=3,column=3)
chR = Label(fen)
chR.grid(row=4,column=3)
chI = Label(fen)
chI.grid(row=5,column=2,columnspan=2)
Button(fen,text='Bye Bye', command=fen.quit).grid(row=6,column=3)
fen.mainloop()
fen.destroy() |
Vous l'aurez compris, l'utilisateur entre la tension et la résistance, ce qui permet de calculer l'intensité électrique.
Mais voilà, je ne sais pas quoi en faire, de cette intensité.
Elle est liée aux valeurs saisies dans les 2 cases Entry, donc après avoir essayer des tas de trucs étranges, j'ai fini par la mettre dans les 2 fonctions liées auxdites cases Entry.
Et ça marche...presque.
Puisque évidemment, quand je rentre la tension, il n'y a pas encore de "r" (pour la résistance), j'ai donc un message d'erreur qui me dit "blabla r non defined"
Dès que je saisi dans la case pour la résistance, plus de soucis, mon calcul d'intensité s'affiche comme je le souhaite.
J'ai bien tenté un "if r : " mais ça ne fonctionne pas.
Quelqu'un pour me donner un coup de main please ?