Obiettivi di apprendimento:
Contenuto teorico:
import math
# Operatori aritmetici base
a = 10
b = 3
print("=== OPERATORI ARITMETICI ===")
print(f"Addizione: {a} + {b} = {a + b}")
print(f"Sottrazione: {a} - {b} = {a - b}")
print(f"Moltiplicazione: {a} * {b} = {a * b}")
print(f"Divisione: {a} / {b} = {a / b}")
print(f"Divisione intera: {a} // {b} = {a // b}")
print(f"Modulo (resto): {a} % {b} = {a % b}")
print(f"Potenza: {a} ** {b} = {a ** b}")
# Operatori di assegnazione
x = 5
print(f"\nValore iniziale: {x}")
x += 3 # x = x + 3
print(f"Dopo +=3: {x}")
x *= 2 # x = x * 2
print(f"Dopo *=2: {x}")
# Funzioni matematiche
numero = 16
print(f"\n=== FUNZIONI MATEMATICHE ===")
print(f"Radice quadrata di {numero}: {math.sqrt(numero)}")
print(f"Valore assoluto di -5: {abs(-5)}")
print(f"Numero arrotondato 3.7: {round(3.7)}")
print(f"Potenza 2^3: {pow(2, 3)}")
print(f"Minimo tra 5,3,8: {min(5, 3, 8)}")
print(f"Massimo tra 5,3,8: {max(5, 3, 8)}")
Calcolatrice scientifica base:
import math
def calcolatrice_scientifica():
print("🧮 CALCOLATRICE SCIENTIFICA 🧮")
numero = float(input("Inserisci un numero: "))
print(f"Numero inserito: {numero}")
print(f"Radice quadrata: {math.sqrt(abs(numero))}")
print(f"Seno: {math.sin(math.radians(numero)):.4f}")
print(f"Coseno: {math.cos(math.radians(numero)):.4f}")
print(f"Logaritmo naturale: {math.log(numero) if numero > 0 else 'Non definito'}")
print(f"Fattoriale: {math.factorial(int(numero)) if numero >= 0 and numero == int(numero) else 'Non definito'}")
calcolatrice_scientifica()
Esercizi pratici:
Obiettivi di apprendimento:
Contenuto teorico:
# If statement base
eta = int(input("Inserisci la tua età: "))
if eta >= 18:
print("Sei maggiorenne! 🎉")
if eta >= 65:
print("Hai diritto alla pensione! 👴")
else:
print("Sei in età lavorativa! 💼")
else:
print("Sei minorenne! 👶")
anni_mancanti = 18 - eta
print(f"Ti mancano {anni_mancanti} anni alla maggiore età")
# Elif per multiple condizioni
voto = float(input("Inserisci il tuo voto (0-10): "))
if voto >= 9:
print("Eccellente! 🌟")
elif voto >= 8:
print("Ottimo! 😊")
elif voto >= 7:
print("Buono! 👍")
elif voto >= 6:
print("Sufficiente! ✅")
else:
print("Insufficiente! ❌")
# Operatori di confronto
a = 10
b = 20
print(f"{a} == {b}: {a == b}") # Uguale
print(f"{a} != {b}: {a != b}") # Diverso
print(f"{a} < {b}: {a < b}") # Minore
print(f"{a} <= {b}: {a <= b}") # Minore o uguale
print(f"{a} > {b}: {a > b}") # Maggiore
print(f"{a} >= {b}: {a >= b}") # Maggiore o uguale
Sistema di autenticazione semplice:
def sistema_login():
print("🔐 SISTEMA DI LOGIN 🔐")
username_corretto = "admin"
password_corretta = "python123"
username = input("Username: ")
password = input("Password: ")
if username == username_corretto and password == password_corretta:
print("✅ Login effettuato con successo!")
print("Benvenuto nel sistema!")
elif username == username_corretto:
print("❌ Password errata!")
elif password == password_corretta:
print("❌ Username errato!")
else:
print("❌ Credenziali non valide!")
sistema_login()
Esercizi pratici:
Obiettivi di apprendimento:
Contenuto teorico:
# Operatori logici
print("=== OPERATORI LOGICI ===")
# AND - entrambe le condizioni devono essere vere
eta = 25
ha_patente = True
if eta >= 18 and ha_patente:
print("Puoi guidare! 🚗")
else:
print("Non puoi guidare! ❌")
# OR - almeno una condizione deve essere vera
giorno = "sabato"
è_festa = False
if giorno == "sabato" or giorno == "domenica" or è_festa:
print("È weekend o festa! 🎉")
else:
print("È un giorno lavorativo! 💼")
# NOT - inverte il valore booleano
piove = False
if not piove:
print("Bel tempo! Andiamo fuori! ☀️")
else:
print("Sta piovendo! Restiamo in casa! 🌧️")
# Combinazioni complesse
temperatura = 25
umidità = 60
vento = 10
if temperatura > 20 and umidità < 70 and (vento < 15 or not piove):
print("Condizioni perfette per una passeggiata! 🚶♂️")
else:
print("Meglio restare in casa! 🏠")
Sistema di ammissione università:
def verifica_ammissione():
print("🎓 SISTEMA AMMISSIONE UNIVERSITÀ 🎓")
voto_diploma = float(input("Voto di diploma (60-100): "))
punteggio_test = int(input("Punteggio test d'ingresso (0-100): "))
ha_borsa_studio = input("Hai una borsa di studio? (s/n): ").lower() == 's'
# Condizioni per l'ammissione
if voto_diploma >= 90 and punteggio_test >= 80:
print("✅ AMMESSO - Eccellenza accademica!")
elif voto_diploma >= 80 and punteggio_test >= 70:
print("✅ AMMESSO - Buoni risultati!")
elif voto_diploma >= 70 and punteggio_test >= 60 and ha_borsa_studio:
print("✅ AMMESSO - Con borsa di studio!")
elif voto_diploma >= 60 or punteggio_test >= 50:
print("⚠️ LISTA D'ATTESA - Risultati sufficienti")
else:
print("❌ NON AMMESSO - Risultati insufficienti")
verifica_ammissione()
Tabelle di verità:
def mostra_tabelle_verita():
print("📊 TABELLE DI VERITÀ 📊")
valori = [True, False]
print("\nAND:")
for a in valori:
for b in valori:
print(f"{a} AND {b} = {a and b}")
print("\nOR:")
for a in valori:
for b in valori:
print(f"{a} OR {b} = {a or b}")
print("\nNOT:")
for a in valori:
print(f"NOT {a} = {not a}")
mostra_tabelle_verita()
Esercizi pratici:
Obiettivi di apprendimento:
Contenuto teorico:
# Operatore ternario - sintassi: valore_se_vero if condizione else valore_se_falso
# Esempio base
eta = 20
stato = "maggiorenne" if eta >= 18 else "minorenne"
print(f"Sei {stato}")
# Confronto con if tradizionale
# Versione tradizionale:
if eta >= 18:
stato = "maggiorenne"
else:
stato = "minorenne"
# Versione ternaria (più compatta):
stato = "maggiorenne" if eta >= 18 else "minorenne"
# Esempi pratici
numero = 15
parità = "pari" if numero % 2 == 0 else "dispari"
print(f"{numero} è {parità}")
temperatura = 25
abbigliamento = "maglietta" if temperatura > 20 else "maglione"
print(f"Con {temperatura}°C indossa una {abbigliamento}")
# Ternario annidato (sconsigliato se troppo complesso)
voto = 8.5
risultato = "eccellente" if voto >= 9 else "buono" if voto >= 7 else "sufficiente" if voto >= 6 else "insufficiente"
print(f"Voto {voto}: {risultato}")
# Meglio usare if-elif per casi complessi
if voto >= 9:
risultato = "eccellente"
elif voto >= 7:
risultato = "buono"
elif voto >= 6:
risultato = "sufficiente"
else:
risultato = "insufficiente"
Esempi pratici avanzati:
# Calcolatore di sconti
prezzo = 100
quantità = 5
sconto = 0.2 if quantità >= 10 else 0.1 if quantità >= 5 else 0
prezzo_finale = prezzo * (1 - sconto)
print(f"Prezzo finale: €{prezzo_finale}")
# Validazione input
nome = input("Inserisci il nome: ")
nome_valido = nome if nome.strip() else "Nome non valido"
print(f"Nome: {nome_valido}")
# Determinare il maggiore tra due numeri
a = 10
b = 15
maggiore = a if a > b else b
print(f"Il maggiore tra {a} e {b} è {maggiore}")
# Alternativa con max()
maggiore = max(a, b) # Più elegante
# Sistema di messaggi
ore = 14
saluto = "Buongiorno" if ore < 12 else "Buon pomeriggio" if ore < 18 else "Buonasera"
print(saluto)
Quando usare il ternario:
# ✅ BUONO - Semplice e leggibile
status = "online" if user.is_active else "offline"
# ✅ BUONO - Assegnazione condizionale
max_value = a if a > b else b
# ❌ EVITARE - Troppo complesso
result = "A" if score >= 90 else "B" if score >= 80 else "C" if score >= 70 else "D" if score >= 60 else "F"
# ✅ MEGLIO - If-elif per casi multipli
if score >= 90:
result = "A"
elif score >= 80:
result = "B"
elif score >= 70:
result = "C"
elif score >= 60:
result = "D"
else:
result = "F"
Esercizi pratici: