Espressioni Condizionali (if / elif / else)

In questo capitolo approfondiremo uno dei fondamenti più importanti della programmazione in Python: ⭐ le espressioni condizionali.

Gli operatori if, elif ed else permettono ai nostri programmi di prendere decisioni in base alle condizioni che si verificano in un dato momento — una parte essenziale per creare applicazioni dinamiche, intelligenti e reattive.


🧠 Come funzionano le istruzioni condizionali

if

È la condizione principale. Se la condizione è True, viene eseguito il blocco di codice indentato sotto di essa. Una sequenza condizionale può avere un solo if iniziale.

elif

Abbreviazione di “else if”. Permette di aggiungere condizioni alternative che vengono verificate solo se le precedenti erano False. Puoi avere quanti elif desideri.

else

Viene eseguita se tutte le condizioni precedenti sono False. Può esserci solo un else alla fine.


🥫 Applicazione 1 — Controllo scorte

Un semplice controllo if/else per stabilire se un articolo deve essere riassortito:

# Stock level of an item
stock_level = 15

# Simple `if`/`else` to check stock levels
if stock_level < 20:
    print("Stock is low")
else:
    print("Stock is okay")

🛒 Applicazione 2 — Sconti basati sull’importo totale

Utilizziamo una struttura if / elif / else per applicare il giusto livello di sconto:

# Initial conditions
totalCost = 150

# Applying discounts based on purchase amount
if totalCost >= 200:
    print("20% discount applied")
elif totalCost >= 100:
    print("10% discount applied")
else:
    print("No discount for purchases under $100")

🧊 Applicazione 3 — Condizioni annidate

Possiamo inserire un blocco if dentro un altro per gestire scenari più articolati.

Ecco un esempio utile per la gestione avanzata dell’inventario:

# Initial conditions
product = 'Non-Perishable'
stock = 70

# Determine the handling of products based on type and condition
if product == 'Perishable':
    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")

📌 Note importanti sulla sintassi

Due punti :

Segnalano a Python che “il blocco di codice di questa condizione inizia qui”.

Indentazione

Tutto il codice che appartiene a una condizione deve essere indentato (spazi o tab). Se l’indentazione è errata, Python solleverà un errore di sintassi.


📝 Compito

Crea un semplice sistema di gestione degli sconti settimanali basato sul tipo di prodotto e sul giorno della settimana.

Variabili predefinite

  • product_type
  • day_of_week

Logica richiesta

Usa istruzioni condizionali per stampare:

Condizione Output
product_type == "Fruits" e day_of_week == "Monday" 10% discount on Fruits today!
product_type == "Vegetables" e day_of_week == "Tuesday" 15% discount on Vegetables today!
product_type == "Dairy" e day_of_week == "Wednesday" 20% discount on Dairy today!
product_type == "Other" No discount available.
Altrimenti No special discounts today.

📤 Requisiti di output

Il programma deve stampare una sola riga, e deve essere una delle seguenti:

10% discount on Fruits today!
15% discount on Vegetables today!
20% discount on Dairy today!
No discount available.
No special discounts today.

Suggerimento

if product_type == "Fruits" and day_of_week == "Monday":