Salve ragazzi...questo pomeriggio ,siccome a scuola abbiamo iniziato i numeri binari, ho voluto provare a creare una sorta di calcolatrice(almeno di estetica) che convertisse i numeri binari in decimali e viceversa...Ho strutturato la GUI con Tkinter e fin qui tutto bene, ho impostato la funzione per convertire i numeri binari in decimali ma non riesco a fare il contrario ovvero trasformare i decimali in binari! Di seguito trovate il codice e il tipo di errore, se può aiutarvi..Spero qualcuno possa aiutarmi al più presto!
Codice:
from Tkinter import *
def convertibinario():
numerodaconvertire=Schermo.get()
numerodaconvertireinstringa= str(numerodaconvertire)
calcolo=0
totalesomma=0
n=-1
esponente=0
while calcolo < len(numerodaconvertireinstringa):
cifra=numerodaconvertireinstringa[n]
cifradasomma=int(cifra)
cifrafinale=cifradasomma*(2**esponente)
n=n-1
esponente=esponente+1
calcolo=calcolo+1
totalesomma=totalesomma+cifrafinale
Schermo.delete(0,'end')
Schermo.insert(0, totalesomma)
def convertidecimale():
numerodaconvertire=Schermo.get()
ad=-1
Risultato=["-"]
se1=["-"]
contatore=0
numerodaconvertireo= int(numerodaconvertire)
while numerodaconvertireo != 1:
numerodaconvertireo=numerodaconvertireo/2
restodasomma=numerodaconvertireo%2
ad=ad+1
contatore=contatore+1
Risultato[0:]=restodasomma
if numerodaconvertireo == 1:
asd=numerodaconvertireo%2
se1[:0]=asd
LCD=se1[:]+Risultato[:]
Schermo.delete(0,'end')
Schermo.insert(0, LCD)
padre = Tk()
padre.title("Convertitore binario")
padre.geometry("428x75+100+50")
padre['bg']= 'white'
label= Label(padre,text="Inserisci il numero da convertire e seleziona il tipo di conversione ",fg='black', bg='white')
label.pack(anchor='nw')
name=int
Schermo= Entry(padre, textvariable='name')
Schermo.pack(side=TOP)
bot1=Button(padre, text='Converti numero da binario a decimale', bg='white', fg='black', command=convertibinario)
bot1.pack(side=LEFT)
bot2=Button(padre, text='Converti numero da decimale a binario', bg='white', fg='black', command=convertidecimale)
bot2.pack(side=LEFT)
padre.mainloop()
Codice:
line 34, in convertidecimaleRisultato[0:]=restodasomma
TypeError: can only assign an iterable