from tkinter import * def calcule(): if xvar.get() != '' and yvar.get() != '': x = float(xvar.get()) y = float(yvar.get()) if choix.get() == 1: r = x * y elif choix.get() == 2: r = x + y elif choix.get() == 3: r = x - y else: r = x / y r = round(r,10) res_val.configure(text=str(r)) xvar.set('') yvar.set('') choix.set(0) def prod(): choix.set(1) def somme(): choix.set(2) def diff(): choix.set(3) def quot(): choix.set(4) def nombre(n='0'): if choix.get() == 0: xvar.set(xvar.get()+n) x_val.configure(text=xvar.get()) else: yvar.set(yvar.get()+n) y_val.configure(text=yvar.get()) def annule(): x_val.configure(text='') y_val.configure(text='') res_val.configure(text='') xvar.set('') yvar.set('') choix.set(0) fen=Tk() fen.title("Calculatrice") choix = IntVar() choix.set(0) xvar = StringVar() yvar = StringVar() clavier = 16*[0] for i in range(1,10): clavier[i] = Button(fen, width=6, text=chr(48+i), command=lambda x=48+i:nombre(chr(x))) clavier[i].grid(row=(9-i)//3, column=(2+i)%3, padx=4, pady=4) clavier[0]=Button(fen, width=6, text="0", command=nombre) clavier[0].grid(row=3, column=0, padx=4, pady=4) clavier[10]=Button(fen, width=6, text=".", command=lambda:nombre('.')) clavier[10].grid(row=3, column=1, padx=4, pady=4) clavier[11]=Button(fen, width=6, text="=", command=calcule) clavier[11].grid(row=3, column=2, padx=4, pady=4) clavier[12]=Button(fen, width=6, text="+", command=somme) clavier[12].grid(row=0, column=3, padx=4, pady=4) clavier[13]=Button(fen, width=6, text="-", command=diff) clavier[13].grid(row=1, column=3, padx=4, pady=4) clavier[14]=Button(fen, width=6, text="x", command=prod) clavier[14].grid(row=2, column=3, padx=4, pady=4) clavier[15]=Button(fen, width=6, text="/", command=quot) clavier[15].grid(row=3, column=3, padx=4, pady=4) x_lab = Label(fen, text='Valeur de x') x_lab.grid(row=0, column=4) x_val = Label(fen, width=10) x_val.grid(row=1, column=4) y_lab = Label(fen, text='Valeur de y') y_lab.grid(row=2, column=4) y_val = Label(fen, width=10) y_val.grid(row=3, column=4) res_lab = Label(fen, text='Résultat') res_lab.grid(row=4, column=4) res_val = Label(fen, width=20) res_val.grid(row=5, column=4) res = Button(fen, width=6, text='reset', command=annule) res.grid(row=5, column=1) fen.mainloop()