Vai al contenuto

Operatori ed espressioni

In questa lezione impari a

  • fare calcoli con gli operatori aritmetici
  • confrontare valori e ottenere vero o falso
  • combinare più condizioni con and, or, not
  • arrotondare i risultati con round()

Un operatore è un simbolo che esegue un'operazione, come + o >. Un'espressione è una combinazione di valori, variabili e operatori che Python calcola per ottenere un risultato: prezzo * 2 + 1 è un'espressione.

Operatori aritmetici

Operatore Operazione Esempio Risultato
+ addizione 7 + 3 10
- sottrazione 7 - 3 4
* moltiplicazione 7 * 3 21
/ divisione 7 / 3 2.333…
// divisione intera 7 // 3 2
% resto (modulo) 7 % 3 1
** potenza 2 ** 3 8

La divisione / dà sempre un decimale, anche 6 / 2 dà 3.0. Se vuoi solo la parte intera usa //.

Il resto % è utilissimo: un numero è pari se numero % 2 vale 0.

Operatori di confronto

Confrontano due valori e danno come risultato True o False.

Operatore Significato
== uguale a
!= diverso da
> / < maggiore / minore
>= / <= maggiore o uguale / minore o uguale

Per controllare se due valori sono uguali si usano due uguali ==. Un solo = serve per mettere un valore in una variabile.

voto = 7
print(voto >= 6)   # True
print(voto == 10)  # False

Operatori logici

Servono a combinare più condizioni:

  • and: vero se tutte le condizioni sono vere
  • or: vero se almeno una è vera
  • not: inverte il valore (vero diventa falso e viceversa)
eta = 15
print(eta >= 14 and eta <= 18)   # True: è tra 14 e 18
print(eta < 6 or eta > 65)       # False
print(not eta > 18)              # True

Arrotondare con round()

round(numero, cifre) arrotonda un numero alle cifre decimali che vuoi:

media = 20 / 3
print(media)             # 6.666666666666667
print(round(media, 2))   # 6.67

Chi viene prima?

Come in matematica, alcune operazioni hanno la precedenza: prima le parentesi, poi le potenze, poi moltiplicazioni e divisioni, poi addizioni e sottrazioni, poi i confronti e infine not, and, or. Nel dubbio, usa le parentesi.

print(2 + 3 * 4)     # 14
print((2 + 3) * 4)   # 20

Esercizi

Esercizio 1 – Calcolatrice. Chiedi due numeri e stampa somma, differenza, prodotto e quoziente.

Mostra la soluzione
a = float(input("Primo numero: "))
b = float(input("Secondo numero: "))
print("Somma:", a + b)
print("Differenza:", a - b)
print("Prodotto:", a * b)
print("Quoziente:", a / b)

Esercizio 2 – Media di tre voti. Chiedi tre voti e stampa la media arrotondata a due decimali.

Mostra la soluzione
v1 = float(input("Primo voto: "))
v2 = float(input("Secondo voto: "))
v3 = float(input("Terzo voto: "))
media = (v1 + v2 + v3) / 3
print("Media:", round(media, 2))

Nota le parentesi: senza, Python dividerebbe solo v3 per 3.

Esercizio 3 – Da Celsius a Fahrenheit. Chiedi una temperatura in gradi Celsius e convertila con la formula F = C × 9 / 5 + 32.

Mostra la soluzione
c = float(input("Temperatura in °C: "))
f = c * 9 / 5 + 32
print(c, "°C corrispondono a", round(f, 1), "°F")

Esercizio 4 – Le caramelle. Hai un certo numero di caramelle da dividere tra alcuni amici in parti uguali. Chiedi i due numeri e stampa quante caramelle riceve ciascuno e quante ne avanzano.

Mostra la soluzione
caramelle = int(input("Quante caramelle? "))
amici = int(input("Quanti amici? "))
print("Ognuno riceve", caramelle // amici, "caramelle")
print("Ne avanzano", caramelle % amici)

Esercizio 5 – Lo sconto. Chiedi il prezzo di un prodotto e la percentuale di sconto, poi stampa il prezzo scontato arrotondato ai centesimi.

Mostra la soluzione
prezzo = float(input("Prezzo: "))
sconto = float(input("Sconto in %: "))
finale = prezzo - prezzo * sconto / 100
print("Prezzo scontato:", round(finale, 2), "euro")