PROMEMORIA — ESPRESSIONI CONDIZIONALI (if / elif / else)
# ============================================================
# ============================================================
# Le espressioni condizionali permettono al programma
# di prendere decisioni basate su condizioni booleane.
# Sono fondamentali per controllare il flusso del codice.
# ============================================================
# 1. STRUTTURA BASE: if
# ============================================================
# if esegue il blocco indentato SOLO se la condizione è True
stock_level = 15
if stock_level < 20:
print("Stock is low")
# Se la condizione è False, il blocco viene ignorato
# ============================================================
# 2. STRUTTURA if / else
# ============================================================
# else viene eseguito quando la condizione if è False
stock_level = 25
if stock_level < 20:
print("Stock is low")
else:
print("Stock is okay")
# ============================================================
# 3. STRUTTURA COMPLETA: if / elif / else
# ============================================================
# elif permette di testare condizioni alternative
# Le condizioni vengono valutate dall’alto verso il basso
totalCost = 150
if totalCost >= 200:
print("20% discount applied")
elif totalCost >= 100:
print("10% discount applied")
else:
print("No discount for purchases under $100")
# ============================================================
# 4. CONDIZIONI MULTIPLE CON OPERATORI LOGICI
# ============================================================
# È possibile combinare più condizioni con:
# and → entrambe devono essere True
# or → almeno una deve essere True
# not → nega una condizione
product_type = "Fruits"
day_of_week = "Monday"
if product_type == "Fruits" and day_of_week == "Monday":
print("10% discount on Fruits today!")
# ============================================================
# 5. CONDIZIONI ANNIDATE (if dentro if)
# ============================================================
# Utili quando una decisione dipende da più livelli di verifica
product = "Non-Perishable"
stock = 70
if product == "Perishable":
daysDelivered = 5
if daysDelivered >= 4:
print("Not fresh - Initiate discount")
else:
print("Product is fresh")
elif product == "Non-Perishable":
if stock > 100:
print("Consider discount")
else:
print("No discount needed")
else:
print("The product is not specified")
# ============================================================
# 6. COMPITO RIASSUNTO — SCONTI SETTIMANALI
# ============================================================
# Variabili di esempio
product_type = "Vegetables"
day_of_week = "Tuesday"
# Logica richiesta dalla scheda
if product_type == "Fruits" and day_of_week == "Monday":
print("10% discount on Fruits today!")
elif product_type == "Vegetables" and day_of_week == "Tuesday":
print("15% discount on Vegetables today!")
elif product_type == "Dairy" and day_of_week == "Wednesday":
print("20% discount on Dairy today!")
elif product_type == "Other":
print("No discount available.")
else:
print("No special discounts today.")
# ============================================================
# 7. ERRORI COMUNI DA EVITARE
# ============================================================
# ❌ Dimenticare i due punti :
# if stock < 10 ← ERRORE
# ❌ Indentazione errata
# Python usa l’indentazione per definire i blocchi logici
# ❌ Usare elif senza if
# ❌ Usare più else
# ============================================================
# 8. CONCETTI CHIAVE DA RICORDARE
# ============================================================
# ✔ Ogni catena condizionale inizia con if
# ✔ Puoi avere zero o più elif
# ✔ Puoi avere al massimo un else
# ✔ Le condizioni devono restituire True o False
# ✔ L’ordine delle condizioni è fondamentale
# ✔ L’indentazione NON è opzionale in Python