Espressioni Condizionali
In questo capitolo, approfondiamo uno degli aspetti fondamentali della programmazione in Python: le espressioni condizionali utilizzando gli operatori if
, else
ed elif
.
Questi operatori consentono di eseguire diversi blocchi di codice in base a condizioni specifiche, offrendo la possibilità di prendere decisioni dinamiche all'interno dei programmi. Comprendere queste espressioni è essenziale per sviluppare applicazioni in grado di reagire efficacemente a vari input e situazioni.
Guarda come Alex dimostra la versatilità di queste espressioni condizionali:
L'istruzione if
valuta una condizione ed esegue un blocco di codice se la condizione è True
. Se la condizione non è True
, le istruzioni else
ed elif
(abbreviazione di "else if") possono specificare condizioni aggiuntive da verificare ed eseguire di conseguenza un codice diverso.
Ecco come funzionano:
if
L'istruzione condizionale principale valuta se una condizione è True
. Avvia una sequenza condizionale. Le istruzioni if
possono apparire solo una volta all'inizio di una sequenza. Se la condizione risulta True
, il blocco di codice indentato che segue l'istruzione if
verrà eseguito.
elif
Abbreviazione di "else if", l'istruzione elif
fornisce condizioni aggiuntive da verificare se la condizione iniziale if
o qualsiasi precedente elif
risultano False
. È possibile includere più istruzioni elif
dopo un'istruzione if
per gestire vari scenari, ciascuno con la propria condizione.
else
Agisce come caso generale per le situazioni non specificamente gestite dalle condizioni if
ed elif
precedenti. Può esserci solo una istruzione else
alla fine di una sequenza di istruzioni if
, e non richiede una condizione.
Applicazioni di esempio
Iniziamo con una semplice istruzione if
/ else
per prendere una decisione basata su una singola condizione. Qui, cerchiamo di determinare se un articolo alimentare deve essere riassortito in base al livello attuale delle scorte:
# 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")
Questo diagramma di flusso mostra i percorsi decisionali che il tuo interprete Python seguirebbe nell'esempio precedente con if-else
:
Successivamente, si utilizza l'istruzione elif
in un'applicazione leggermente più complessa. In questa applicazione, vengono utilizzate istruzioni if
/ elif
/ else
per applicare tassi di sconto in base ai costi totali, al fine di incentivare vendite maggiori.
# 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")
Questo diagramma di flusso visualizza il processo di applicazione degli sconti in base al costo totale utilizzando le istruzioni if
, elif
, else
:
Nella prossima applicazione, vengono introdotte condizioni annidate if-else
per dimostrare un processo decisionale più dettagliato. Inserendo una struttura if-else
all'interno di un'altra, è possibile prendere una serie di decisioni basate su criteri multipli.
Questo esempio pratico illustra come un negozio di alimentari possa gestire l'inventario in base al tipo di prodotto e a condizioni specifiche, come i giorni dalla consegna o i livelli di scorta.
# 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")
Il seguente diagramma ad albero decisionale rappresenta visivamente la logica annidata if-else
utilizzata nell'esempio di codice precedente:
Alcune note sulla sintassi
Quando si scrivono istruzioni condizionali in Python, è fondamentale rispettare regole sintattiche specifiche. Si può notare il ruolo fondamentale dei due punti :
e dell'indentazione nella creazione di condizioni eseguibili.
Analizziamo il ruolo che questi dettagli minori svolgono:
Due punti
Si consideri il due punti alla fine di una istruzione if
, elif
o else
come un segnale che indica, "Ecco cosa fare dopo se la condizione appena menzionata è vera." Il due punti funge da segnaposto, indicando chiaramente dove iniziano le istruzioni.
Indentazione
Quando la condizione sopra un blocco di codice indentato è True
, tutte le righe di codice indentate sottostanti vengono eseguite. Se non è True
, Python salta questi passaggi e cerca la condizione successiva.
Anche se questi possono sembrare dettagli minori, sono fondamentali per garantire che il tuo codice venga eseguito correttamente. Man mano che acquisirai maggiore familiarità con Python, queste pratiche diventeranno automatiche.
Ottimo lavoro nell'apprendere questi aspetti fondamentali di Python! La tua comprensione di come strutturare correttamente le istruzioni di controllo costituisce una solida base per affrontare compiti di programmazione più complessi. Ora, mettiamo alla prova le tue nuove competenze con una sfida completa che ti permetterà di applicare ciò che hai imparato in uno scenario pratico.
Swipe to start coding
Creare un semplice sistema di strategia di sconti per un negozio di alimentari che applica sconti in base al tipo di prodotto e al giorno della settimana.
- Utilizzare le variabili di input
product_type
eday_of_week
. - Implementare istruzioni condizionali per verificare:
- Se
product_type
è"Fruits"
eday_of_week
è"Monday"
, stampare uno sconto del 10% sulla frutta; - Se
product_type
è"Vegetables"
eday_of_week
è"Tuesday"
, stampare uno sconto del 15% sulle verdure; - Se
product_type
è"Dairy"
eday_of_week
è"Wednesday"
, stampare uno sconto del 20% sui latticini; - Se
product_type
è"Other"
, stampare"No discount available."
; - Utilizzare
else
per gestire gli altri casi in cui nessuna condizione è soddisfatta.
- Se
Requisiti di output
- Stampare messaggi come:
"10% discount on Fruits today!"
per ogni condizione soddisfatta. - Se
product_type
è"Other"
, stampare"No discount available."
- Se nessuna condizione è soddisfatta, stampare
"No special discounts today."
Soluzione
Grazie per i tuoi commenti!