In tutti i moderni linguaggi di programmazione, gli statement condizionali e i cicli sono fondamentali per due scopi principali:
- Prendere decisioni sulla base di valori dati o calcolati.
- Automatizzare operazioni ripetitive per evitare di riscrivere lo stesso codice.
If…else
Lo statement if...else
permette di variare il normale flusso di esecuzione del codice valutando una determinata condizione.
Ecco un esempio:
x = int(input("Insert a number:"))
if x % 2 == 0:
print("Your number is even")
else:
print("Your number is odd")
Questo codice stamperà un messaggio diverso a seconda che il valore inserito dall’utente sia un numero pari o dispari.
In Python esiste anche una variante chiamata elif
, che consente di concatenare più condizioni. Ecco un altro esempio:
x = int(input("\n3Insert a number greater than 0:"))
if x == 0:
print("Invalid value!")
elif x > 0:
print("You inserted a positive number!")
else:
print("You inserted a negative number!")
Con questo codice possiamo verificare se il valore inserito dall’utente è diverso da 0 e, se lo è, determinarne la positività o negatività.
Cicli in Python
Python supporta due tipi principali di cicli: for
e while
. Entrambi permettono di ripetere blocchi di codice senza riscriverlo, ma differiscono nel loro funzionamento logico:
- while: continua a eseguire il codice al suo interno finché una determinata condizione è valida.
- for: itera su una collezione di dati (come liste, tuple o stringhe) ed esegue il codice per ogni elemento della collezione.
Ecco un paio di esempi:
Ciclo While
print("Printing all values from 10 down to 6...")
x = 10
while x > 5:
print(x)
x = x - 1
In questo esempio, il ciclo while
stampa i numeri decrescenti a partire da 10 fino a quando il valore di x
è maggiore di 5. A ogni iterazione, il valore di x
viene ridotto di 1.
Ciclo For
fruit_list = ["Apple", "Banana", "Coconut", "Raspberry", "Strawberry"]
print("Printing all elements in the list...")
for fruit in fruit_list:
print(fruit)
Questo esempio utilizza un ciclo for
per iterare su una lista di frutta, stampando ciascun elemento.
Combinare Cicli e If…else
Possiamo combinare i cicli con gli statement condizionali if...else
per creare logiche più complesse. In particolare, gli statement continue
e break
consentono di controllare il flusso di esecuzione del ciclo.
Esempio con continue
print("Printing all elements in the list except for Banana...")
for fruit in fruit_list:
if fruit == "Banana":
continue
print(fruit)
In questo caso, il ciclo stampa tutti gli elementi della lista di frutta, tranne “Banana”. Lo statement continue
interrompe l’iterazione corrente e passa alla successiva.
Esempio con break
print("Printing all numbers in the list. Break the loop if there is any non number element")
number_list = [1, 2, 3, "a", 4, 5]
for x in number_list:
if type(x) is int:
print(x)
else:
print(f"Found not number element: {x}")
print("For Loop will be terminated immediately")
break
Qui, il ciclo interrompe la sua esecuzione non appena trova un elemento che non è un numero. Lo statement break
, a differenza di continue
, termina definitivamente il ciclo e passa all’istruzione successiva nel programma.
Conclusioni
Gli statement condizionali e i cicli sono strumenti essenziali per automatizzare operazioni e prendere decisioni nei programmi Python. Nei prossimi tutorial, esploreremo in dettaglio ulteriori utilizzi pratici.
Trovi il link ai codici di esempio qui.