import math
#PyCalc
#@By SiD, 2008
#Se copiate o modificate questo programma, riportate il mio nome, grazie ;-)
calcoli_oggi = []
def add():
try:
add = input("\nInserisci il primo numero: ")
add2 = input("\nInserisci il secondo numero: ")
if 'Addizione' in calcoli_oggi:
calcoli_oggi.append('+ Addizione')
else:
calcoli_oggi.append('Addizione')
except:
print 'Errore..'
else:
ris = add+add2
print '\nRisultato >> ', add+add2, '\n'
create = raw_input('\nVuoi anche creare un log in txt con il risultato? (s/n): ')
if create=='s':
create_file = open('pycalc_calcoli.txt','a')
create_file.write('Calcolo: '+str(add)+'+'+str(add2)+' Risultato: '+str(ris)+'\n')
create_file.close()
else:
print
menu()
def sott():
try:
sott = input('\nInserisci il primo numero: ')
sott2 = input('\nInserisci il secondo numero: ')
if 'Sottrazione' in calcoli_oggi:
calcoli_oggi.append('+ Sottrazione')
else:
calcoli_oggi.append('Sottrazione')
except:
print 'Errore..'
else:
ris = sott-sott2
print '\nRisultato >> ', sott-sott2
create = raw_input('\nVuoi anche creare un log in txt con il risultato? (s/n): ')
if create=='s':
create_file = open('pycalc_calcoli.txt','a')
create_file.write('Calcolo: '+str(sott)+'-'+str(sott2)+' Risultato: '+str(ris)+'\n')
create_file.close()
else:
print
menu()
def molt():
try:
molt = input('\nInserisci il primo numero: ')
molt2 = input('\nInserisci il secondo numero: ')
if 'Moltiplicazione' in calcoli_oggi:
calcoli_oggi.append('+ Moltiplicazione')
else:
calcoli_oggi.append('Moltiplicazione')
except:
print 'Errore..'
else:
ris = molt*molt2
print '\nRisultato >> ', molt*molt2
create = raw_input('\nVuoi anche creare un log in txt con il risultato? (s/n): ')
if create=='s':
create_file = open('pycalc_calcoli.txt','a')
create_file.write('Calcolo: '+str(molt)+'x'+str(molt2)+' Risultato: '+str(ris)+'\n')
create_file.close()
else:
print
menu()
def div():
try:
div = input('\nInserisci il primo numero: ')
div2 = input('\nInserisci il secondo numero: ')
if 'Divisione' in calcoli_oggi:
calcoli_oggi.append('+ Divisione')
else:
calcoli_oggi.append('Divisione')
except:
print 'Errore..'
else:
ris = div/div2
print '\nRisultato >> ', div/div2
create = raw_input('\nVuoi anche creare un log in txt con il risultato? (s/n): ')
if create=='s':
create_file = open('pycalc_calcoli.txt','a')
create_file.write('Calcolo: '+str(div)+'/'+str(div2)+' Risultato: '+str(ris)+'\n')
create_file.close()
else:
print
menu()
def potenza():
try:
elev = input('\nInserisci il numero da elevare: ')
quanto = input('\nA quale potenza?: ')
if 'Potenza' in calcoli_oggi:
calcoli_oggi.append('+ Potenza')
else:
calcoli_oggi.append('Potenza')
except:
print 'Errore..'
else:
ris = elev**quanto
print '\nRisultato >> ', elev**quanto
create = raw_input('\nVuoi anche creare un log in txt con il risultato? (s/n): ')
if create=='s':
create_file = open('pycalc_calcoli.txt','a')
create_file.write('Calcolo: '+str(elev)+' alla potenza '+str(quanto)+' Risultato: '+str(ris)+'\n')
create_file.close()
else:
print
menu()
def log():
try:
num = input('\nInserisci il numero da cui ricavare il logaritmo: ')
if 'Logaritmo' in calcoli_oggi:
calcoli_oggi.append('+ Logaritmo')
else:
calcoli_oggi.append('Logaritmo')
except:
print 'Errore..'
else:
ris = math.log(num)
print '\nRisultato >> ', math.log(num)
create = raw_input('\nVuoi anche creare un log in txt con il risultato? (s/n): ')
if create=='s':
create_file = open('pycalc_calcoli.txt','a')
create_file.write('Calcolo (numero): '+str(num)+' Logaritmo: '+str(ris)+'\n')
create_file.close()
else:
print
menu()
def gradi():
try:
angolo = input("\nInserisci l'angolo in radiante da convertire in gradi: ")
if 'Angolo [to_gradi]' in calcoli_oggi:
calcoli_oggi.append('+ Angolo [to_gradi]')
else:
calcoli_oggi.append('Angolo [to_gradi]')
except:
print 'Errore..'
else:
ris = math.degrees(angolo)
print '\nRisultato >> ', math.degrees(angolo)
create = raw_input('\nVuoi anche creare un log in txt con il risultato? (s/n): ')
if create=='s':
create_file = open('pycalc_calcoli.txt','a')
create_file.write('Angolo: '+str(angolo)+' Gradi da radiante: '+str(ris)+'\n')
create_file.close()
else:
print
menu()
def rad():
try:
angolo = input("\nInserisci l'angolo in gradi da convertire in radiante: ")
if 'Angolo [to_radiante]' in calcoli_oggi:
calcoli_oggi.append('+ Angolo [to_radiante]')
else:
calcoli_oggi.append('Angolo [to_radiante]')
except:
print 'Errore..'
else:
ris = math.radians(angolo)
print '\nRisultato >> ', math.radians(angolo)
create = raw_input('\nVuoi anche creare un log in txt con il risultato? (s/n): ')
if create=='s':
create_file = open('pycalc_calcoli.txt','a')
create_file.write('Angolo: '+str(angolo)+' Radiante da gradi: '+str(ris)+'\n')
create_file.close()
else:
print
menu()
def lista():
listn = 0
if len(calcoli_oggi) > 0:
while listn < len(calcoli_oggi):
print '>', calcoli_oggi[listn]
listn = listn + 1
else:
print '\nNon hai ancora fatto operazioni!\n'
menu()
def help():
print '\n\nPyCalc\nAuthor: SiD\nwww.cyber-sec.helloweb.eu\n'
print 'I comandi disponibili sono da 1 a 10 e le operazioni disponibili sono:\nAddizione, sottrazione, moltiplicazione, divisione, potenza, logaritmo, calcolo gradi da angolo in radiante e calcolo radiante da angolo in gradi\n'
menu()
def menu():
print '\nPyCalc # Author: SiD #\nPer Info e Aiuto digita "help"\n'
print '1. Addizione'
print '2. Sottrazione'
print '3. Moltiplicazione'
print '4. Divisione'
print '5. Potenza'
print '6. Logaritmo'
print '7. Ricava angolo in gradi (da radiante)'
print '8. Ricava una radiante (da gradi)'
print '9. Visualizza le operazioni di oggi'
print '10. Esci'
menu = raw_input('Command (1 to 10 or help): ')
if menu == '1':
add()
elif menu == '2':
sott()
elif menu == '3':
molt()
elif menu == '4':
div()
elif menu == '5':
potenza()
elif menu == '6':
log()
elif menu == '7':
gradi()
elif menu == '8':
rad()
elif menu == '9':
print
lista()
elif menu == '10':
print '\nGrazie per aver usato PyCalc! @Author: SiD'
elif menu == 'help':
help()
else:
print '\nComando invalido!'
menu()