from tkinter import * def conversion(): n = int(x.get()) nb = int(y.get()) if not (-2 ** (nb-1) <= n < 2 ** (nb-1)): lab3.configure(text ="nombre de bits insuffisant") nombre.set("") nombre2.set("") return if n < 0: n = n + 2 ** nb res = "" cpt = 0 while n > 0: cpt += 1 r = n % 2 res = str(r) + res n = n // 2 lab3.configure(text = "Le nombre "+x.get()+" s'écrit sur "+y.get()+" bits: "+(nb-cpt)*'0'+res) nombre.set("") nombre2.set("") fenetre = Tk() fenetre.title("Convertir un nombre entier relatif") fenetre.geometry("400x100") lab1 = Label(fenetre, text = 'Ecrire un nombre entier relatif: ') lab1.grid(row = 0, column = 0) nombre = StringVar() x = Entry(fenetre, width = 10, textvariable = nombre) x.grid(row = 0, column = 1) lab2 = Label(fenetre, text = 'Choisir le nombre de bits: ') lab2.grid(row = 1, column = 0) nombre2 = StringVar() y = Entry(fenetre, width = 10, textvariable = nombre2) y.grid(row = 1, column = 1) b1 = Button(fenetre, text = "OK", command = conversion) b1.grid(row = 1, column = 2) lab3 = Label(fenetre, text = "") lab3.grid(row = 2, column = 0) b2=Button(fenetre, text = "Quitter", command = fenetre.destroy) b2.grid(row = 3,column = 2) fenetre.mainloop()