Ecco un semplice convertitore da decimale a binario, ottale, esadecimale e viceversa (in python3).
Ecco il codice di Python.
def convertitore():
while True:
numero = input("Inserisci un numero: ")
base_attuale = input("Inserisci la base del numero inserito (decimale, binario, ottale, esadecimale): ")
base_destinazione = input("Inserisci la base di destinazione (decimale, binario, ottale, esadecimale): ")
try:
if base_attuale == "decimale":
decimale = int(numero)
elif base_attuale == "binario":
decimale = int(numero, 2)
elif base_attuale == "ottale":
decimale = int(numero, 8)
elif base_attuale == "esadecimale":
decimale = int(numero, 16)
else:
print("Base non valida")
continue
if base_destinazione == "decimale":
risultato = str(decimale)
elif base_destinazione == "binario":
risultato = bin(decimale)[2:]
elif base_destinazione == "ottale":
risultato = oct(decimale)[2:]
elif base_destinazione == "esadecimale":
risultato = hex(decimale)[2:]
else:
print("Base non valida")
continue
print(f"{numero} ({base_attuale}) = {risultato} ({base_destinazione})\n")
break
except ValueError:
print("Numero non valido")
continue
convertitore()