# AUTORE: Castorio Gioacchino
# TITOLO: SIMPLEX.py
# DATA: 5 Luglio 2010
import Convert, string
##############################Test##############################
def Test(strValue):
print "\n\t", "-" * 51, "\n"
dicPresente = {"1":1, "0":1, "-":1}
for Cifra in strValue:
# Attraversa tutti gli elementi di 'strValue'
if not(dicPresente.has_key(Cifra)):
print "\t[Errore binario] Hai inserito una cifra non binaria"
raw_input("\tPremi ENTER per uscire dal programma...")
exit()
return strValue
##############################Test##############################
salva = open("Converiti", "w")
print "\n\t\t\t\tSIMPLEX"
print "\t\tConvertitore di decimali e binari interi"
while 1:
print "\n\t", "-" * 51, "\n"
print "\t1 --> Da base 10 a base 2"
print "\t2 --> Da base 2 a base 10"
print "\t3 --> About"
print "\t4 --> Exit\n"
scelta = raw_input("\tLa mia scelta: ")
print "\n\t", "-" * 51, "\n"
#Scrivi una stringa con 51 '-'
if scelta == "1":
intValore = input("\tInserisci il decimale intero da convertire: ")
try:
if intValore >= 0:
convertito = int(Convert.Converti10a2(intValore))
else:
intValoreAssoluto = -1 * intValore
convertito = -1 * int(Convert.Converti10a2(intValoreAssoluto))
# 'convertito' e' uguale al prodotto di -1 per il ritorno di Converti10a2 in Integer
# In tale maniera si rende negativo il valore
except:
print "Hai inserito un carattere differente da una cifra"
exit()
strValore = str(intValore)
elif scelta == "2":
strValore = Test(raw_input("\tInserisci il binario intero da convertire: "))
lstCifre = []
intValore = int(strValore)
if intValore >= 0:
for Cifra in strValore:
lstCifre = lstCifre + [int(Cifra)]
# Aggiungi a lista 'lstCifre' tutti i valori delle singole cifre di 'Cifra'
convertito = Convert.Converti2a10(lstCifre)
else:
for Elemento in strValore:
lstCifre = lstCifre + [Elemento]
# Aggiungi a lista 'lstCifre' tutti gli 'Elemento'
del lstCifre[0]
# Cancella il primo elemento di 'lstCifre' vale a dire il -
strValore = string.join(lstCifre, "")
# Unisci gli elementi di 'lstCifre' in un unica stringa
lstValoriAssoluti = []
for Cifra in strValore:
lstValoriAssoluti = lstValoriAssoluti + [int(Cifra)]
# Aggiungi a lista 'lstValoriAssoluti' tutti i valori di 'Cifra'
convertito = -1 * int(Convert.Converti2a10(lstValoriAssoluti))
elif scelta == "3":
print "\tQuesto programma e' stato creato interamente da"
print "\tThe Newbie alias Castorio Gioacchino\n"
print "\tDATA: 5 Luglio 2010"
print "\tTITOLO: SIMPLEX.py"
print "\tLICENZA: GNU/gpl"
print "\n\t", "-" * 51, "\n"
raw_input("\tPremi ENTER per continuare...")
continue
elif scelta == "4":
break
else:
print "\tERRORE!"
print "\tNon esiste alcuna scelta indicata con" , scelta
print "\tInserire una scelta corretta!!!\n"
raw_input("\tPremi ENTER per continuare...")
continue
terminato = "\tIl numero %s convertito risulta %d" % (strValore, convertito)
print terminato
print "\tIl risultato e' stato salvato!"
salva.write(terminato + "\n")
salva.close()