|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
CONVERTISSEUR DECIMAL-BINAIRE-HEXADECIMAL (INTERFACE TKINTER)
Information sur la source
Description
Ce programme permet comme son nom l'indique de convertir des nombres (entiers) entre ces 3 bases. Toujours utilise pour vérifier les calculs faits "à la main" pour réviser les cours ^^. Petit programme sans prétention fait en 3/4 d'heure.
Source
- ##############################
- # 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()
-
##############################
# 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()
Fichier Zip
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
Télécharger le zip
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|