In questa lezione svilupperemo una calcolatrice in Python utilizzando le classi. La nostra calcolatrice dovrà semplicemente prendere in input due numeri richiesti ed elaborarli attraverso le operazioni aritmetiche.
Calcolatrice in Python – implementazione
Innanzitutto creeremo una classe Calculator dove utilizzeremo il costruttore init con i due parametri a e b oltre al parametro self.
Poi definiamo dei metodi per le 4 operazioni aritmetiche. Stiamo attenti alla divisione in quanto non si può dividere un numero per 0.
Ecco dunque una possibile implementazione:
class Calculator:
def __init__(self, a, b):
self.a = a
self.b = b
def add(self):
return self.a + self.b
def sub(self):
return self.a - self.b
def mol(self):
return self.a * self.b
def div(self):
if self.b == 0:
print("Non puoi dividere per zero")
return None
return self.a / self.b
Salviamo il file con nome ‘Calculator.py’ per poterlo così importare ogni qualvolta ci serve.
Dopo definiamo un’istanza passando i valori a e b e richiamiamo alcuni metodi.
Ecco il codice di esempio:
from Calculator import *
calc = Calculator(10,5)
divisione = calc.div()
print(divisione)
addizione = calc.add()
print(addizione)
Facciamo una piccola variazione alla calcolatrice in Python appena creata. Piuttosto che passare gli attributi all’istanza, li chiederemo in input.
Inoltre potremmo anche chiedere all’utente di scegliere un’operatore aritmetico.
Modifichiamo allora la classe precedente inserendo i valori di default ad a e b.
Ecco una possibile implementazione:
class Calculator:
def __init__(self):
self.a = 0.0
self.b = 0.0
def add(self):
return self.a + self.b
def sub(self):
return self.a - self.b
def mol(self):
return self.a * self.b
def div(self):
if self.b == 0:
print("Non puoi dividere per zero")
return None
return self.a / self.b
Dopo chiediamo all’utente di inserire i numeri che possono essere anche con la virgola.
Poi chiediamo di inserire l’operatore per poi eseguire correttamente l’operazione.
Infine stampiamo il risultato:
from Calculator import *
calc = Calculator()
calc.a = float(input('Inserisci il primo numero: '))
calc.b = float(input('Inserisci il secondo numero: '))
op = input("""
Scegliere un'operazione:
+ , - , * , /
""")
if op == '+':
risultato = calc.add()
elif op == '-':
risultato = calc.sub()
elif op == '*':
risultato = calc.mol()
elif op == '/':
risultato = calc.div()
else:
risultato = "Il carattere inserito non è valido"
print(risultato)
Conclusione
In questa lezione abbiamo realizzato una semplice calcolatrice in Python utilizzando le classi, nelle prossime lezioni studieremo tanti altri esempi sulle classi in Python.
Alcuni link utili
Indice tutorial sul linguaggio Python
Operazioni con i file in Python
Introduzione ai dizionari in Python
Quali sono i metodi delle liste
Memorizzare dati di input in un file di testo