Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Author:Giuseppe Ferlante
- class binario(object):
- def __init__(self,numero):
- self.numero=numero
- def dtb(self):#Decimale a binario
- n=self.numero
- nu=""
- while n!=1:
- if(n%2==0):
- n=n/2
- nu="0"+nu
- else:
- nu="1"+nu
- n=n/2
- n=str(n).split('.')
- n=int(n[0])
- return "1"+nu
- def btd(self):#Da binario a decimale
- nu=0
- ns=str(self.numero)
- for y in range(len(ns)):
- if(ns[y] == "1" or ns[y] == "0"):
- pass
- else:
- raise ValueError("Errore valori accettati 1-0")
- y=len(ns)
- ns=ns[::-1]#reverse
- for x in range(len(ns)):
- nu=nu+int(ns[x])*(2**x)
- return str(nu)
- def main():
- global numero
- print "Programmatore Giuseppe Ferlante"
- while 1:
- try:
- try:
- scelta=input("\n\n1 Decimale-Binario\n2 Binario-Decimale\n-: ")
- except SyntaxError:
- print "Errore carattere "
- continue
- except NameError:
- print "Non esistono scelte con le lettere "
- continue;
- if(scelta>2 or scelta<1):
- print "Scelta non valida : %d " % (scelta)
- continue;
- else:
- pass
- try:
- try:
- numero=input("Numero: ")
- except SyntaxError:
- print "Errore carattere "
- continue
- except NameError:
- print "Errore impossibile calcolare le lettere "
- continue;
- if(scelta==1):
- print str(numero)+": "+binario(numero=numero).dtb()
- else:
- try:
- print str(numero)+": "+binario(numero=numero).btd()
- except ValueError:
- print "Errore il binario accetta solo 1-0"
- continue;
- if __name__=="__main__":
- main()
- #V 1.1
- #Grazie ad Umberto Loria per aver fatto notare errore nello stack dei sottoprocessi ;) Grazie ;)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement