Context engineering
Gli operatori sono strumenti fondamentali per manipolare dati. Possiamo distinguerli in più categorie:
Agiscono su valori numerici.
| Operatore | Significato | Esempio | Risultato |
|---|---|---|---|
+ | Addizione | 5 + 3 | 8 |
- | Sottrazione | 5 - 3 | 2 |
* | Moltiplicazione | 5 * 3 | 15 |
/ | Divisione (float) | 5 / 2 | 2.5 |
// | Divisione intera | 5 // 2 | 2 |
% | Modulo (resto) | 5 % 2 | 1 |
** | Potenza | 2 ** 3 | 8 |
👉 Esempio pratico:
a = 10
b = 3
print(a // b) # 3
print(a % b) # 1
print(a ** b) # 1000
Restituiscono valori booleani (True o False).
| Operatore | Significato | Esempio | Risultato |
|---|---|---|---|
== | Uguale a | 5 == 5 | True |
!= | Diverso da | 5 != 3 | True |
> | Maggiore | 5 > 3 | True |
< | Minore | 5 < 3 | False |
>= | Maggiore o uguale | 5 >= 5 | True |
<= | Minore o uguale | 3 <= 5 | True |
👉 Esempio:
x = 7
y = 10
print(x > y) # False
print(x != y) # True
Servono a combinare condizioni logiche.
| Operatore | Significato | Esempio | Risultato |
|---|---|---|---|
and | Vero se entrambe le condizioni sono vere | (5 > 3 and 8 > 6) | True |
or | Vero se almeno una condizione è vera | (5 > 10 or 8 > 6) | True |
not | Inverte il valore | not(5 > 3) | False |
👉 Esempio:
eta = 20
studente = True
print(eta > 18 and studente) # True
print(eta < 18 or studente) # True
print(not studente) # False
Consentono di eseguire blocchi di codice in base a condizioni logiche.
👉 Esempio:
x = 15
if x > 20:
print("Maggiore di 20")
elif x == 20:
print("Uguale a 20")
else:
print("Minore di 20")
✅ Output: Minore di 20
Il ciclo for in Python serve a iterare su sequenze (liste, stringhe, range, ecc.).
👉 Esempio con range:
for i in range(5):
print(i)
✅ Output: 0 1 2 3 4
👉 Esempio con lista:
frutti = ["mela", "pera", "banana"]
for frutto in frutti:
print(frutto)
Il ciclo while ripete un blocco finché la condizione è vera.
👉 Esempio:
n = 1
while n <= 5:
print(n)
n += 1
✅ Output: 1 2 3 4 5
⚠️ Attenzione: se la condizione non diventa mai falsa, il ciclo è infinito.
Un numero primo è divisibile solo per 1 e per sé stesso.
Prendere un intervallo di numeri.
Per ogni numero > 1, verificare se ha divisori oltre a 1 e sé stesso.
Se non ha divisori → è primo.
# Programma: numeri primi da 2 a 50
for num in range(2, 51):
primo = True
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
primo = False
break
if primo:
print(num, end=" ")
✅ Output:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
Verifichiamo se 29 è primo:
Calcoliamo √29 ≈ 5.38 → basta controllare i divisori da 2 a 5.
29 % 2 = 1 → non divisibile.
29 % 3 = 2 → non divisibile.
29 % 4 = 1 → non divisibile.
29 % 5 = 4 → non divisibile.
👉 Nessun divisore → 29 è primo ✅
Controllo di accesso: if per verificare password corrette.
Analisi di dati: cicli for per scorrere grandi dataset.
Simulazioni fisiche: while per iterare fino a raggiungere una condizione di equilibrio.
Numeri primi → crittografia e sicurezza informatica.
📍 Riepilogo Modulo
✅ Imparati operatori aritmetici, logici e di confronto.
✅ Condizioni if-elif-else.
✅ Cicli for e while.
✅ Esercizio: stampa dei numeri primi con algoritmo ottimizzato.
Commenti
Posta un commento