Soyez le premier à donner votre avis sur cette source.
Vue 33 095 fois - Téléchargée 1 461 fois
############################## # Convertisseur Multi-bases # # par Drvolodimtank # ############################## #### Importation des modules #### from Tkinter import * ################################# #### Fonctions de conversion #### ################################# listehexa=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"] listebinaire=["0000","0001","0010","0011","0100","0101","0110","0111","1000","1001","1010","1011","1100","1101","1110","1111"] def binairedecimal(string): x=len(string)-1 n=0 res=0 while x!=-1: if string[x]=="1": res=res+2**n n=n+1 x=x-1 return res def decimalbinaire(string): quotient=int(string) liste=[] res="" while quotient!=1: liste=liste+[quotient%2] quotient=quotient/2 liste=liste+[1] while liste!=[]: res=res+str(liste[-1]) liste=liste[:-1] return res def binairehexa(string): liste=[] res="" while len(string)>4: liste=liste+[string[-4:]] string=string[:-4] liste=liste+[string] while len(liste[-1])!=4: liste[-1]="0"+liste[-1] for x in range(len(liste)): i=listebinaire.index(liste[x]) liste[x]=listehexa[i] while liste!=[]: res=res+liste[-1] liste=liste[:-1] return res def hexabinaire(string): res="" for x in range(len(string)): i=listehexa.index(string[x]) res=res+listebinaire[i] return res def decimalhexa(string): return binairehexa(decimalbinaire(string)) def hexadecimal(string): return binairedecimal(hexabinaire(string)) ############################# #### Interface graphique #### ############################# def convertir(): saisie=Esaisie.get() x,y=basedepart.get(),basearrivee.get() couple=(x,y) if couple==(1,2): res=decimalbinaire(saisie) elif couple==(1,3): res=decimalhexa(saisie) elif couple==(2,1): res=binairedecimal(saisie) elif couple==(2,3): res=binairehexa(saisie) elif couple==(3,1): res=hexadecimal(saisie) elif couple==(3,2): res=hexabinaire(saisie) else : res="Euh..... B00lay ??" fen2=Toplevel() Label(fen2,text="Resultat").pack() Label(fen2,text=res).pack() fen2.mainloop() fen=Tk() fen.title("Convertisseur Multi-Bases") Label(fen,text="Saisissez la valeur\na convertir").pack(side=TOP) Esaisie=Entry(fen) Esaisie.pack(side=TOP) Fgauche=Frame(fen) Fgauche.pack(side=LEFT) Label(Fgauche,text="Base de depart").pack() basedepart=IntVar() Radiobutton(Fgauche,text="Decimal",variable=basedepart,value=1,indicatoron=0,width=15).pack() Radiobutton(Fgauche,text="Binaire",variable=basedepart,value=2,indicatoron=0,width=15).pack() Radiobutton(Fgauche,text="Hexadecimal",variable=basedepart,value=3,indicatoron=0,width=15).pack() Fdroite=Frame(fen) Fdroite.pack(side=RIGHT) Label(Fdroite,text="Base d'arrivee").pack() basearrivee=IntVar() Radiobutton(Fdroite,text="Decimal",variable=basearrivee,value=1,indicatoron=0,width=15).pack() Radiobutton(Fdroite,text="Binaire",variable=basearrivee,value=2,indicatoron=0,width=15).pack() Radiobutton(Fdroite,text="Hexadecimal",variable=basearrivee,value=3,indicatoron=0,width=15).pack() Bconvertir=Button(fen,text="Convertir",command=convertir) Bconvertir.pack(side=BOTTOM) fen.mainloop()
J'avoue c'est con de lui demandé ca mais bon je le teste ^^ :)
Mais effectivement on peut rajouter simplement un bouton ;).
Pas mal comme petite application. Si je peux me permettre, je propose un bouton supplémentaire pour quitter.
CODE :
Radiobutton(Fdroite,text="Decimal",variable=basearrivee,value=1,indicatoron=0,width=15).pack()
Radiobutton(Fdroite,text="Binaire",variable=basearrivee,value=2,indicatoron=0,width=15).pack()
Radiobutton(Fdroite,text="Hexadecimal",variable=basearrivee,value=3,indicatoron=0,width=15).pack()
Bconvertir=Button(fen,text="Convertir",command=convertir)
Bconvertir.pack(side=BOTTOM)
Bexit=Button(fen,text='EXIT',fg ='red',command=fen.quit) # ligne ajoutée
Bexit.pack(side=BOTTOM) # ligne ajoutée
fen.mainloop()
Le bouton se place juste au dessus de "Convertir" et la police est en rouge (fg='red').
Tant que tu es sous IDLE il ne faut pas tuer à chaque fois le shell.
killer_sam
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.