In questa lezione propongo degli esempi pratici sul ciclo while in Python, al fine di consolidare l’uso delle iterazioni nei nostri algoritmi.
Esempi ciclo while in Python – pari e dispari
Vogliamo risolvere questo algoritmo:
Dati in input 10 numeri contare quanti numeri pari e quanti dispari sono stati inseriti.
Per contare i numeri pari e dispari utilizziamo quindi due variabili. Le chiamiamo ad esempio contap e contad. Le variabili sono inizializzate a 0 e se inseriamo un numero pari incrementiamo contap, altrimenti incrementiamo contad. Per verificare se un numero è pari controlliamo se il resto della divisione del numero per 2 è uguale a zero. Se il resto è zero, allora il numero è pari; altrimenti, è dispari. Utilizzando l’operatore modulo %, possiamo ottenere il resto della divisione. Se n % 2 è uguale a zero, allora n è pari.
Quindi l’algoritmo proposto si potrebbe risolvere in questo modo:
contap = contad = i = 0
while i < 10:
n = int(input('Inserisci un numero: '))
if n % 2 == 0:
contap += 1
else:
contad += 1
i += 1
print('I numeri pari inseriti sono:', contap)
print('I numeri dispari inseriti sono:', contad)
Ipotizziamo adesso di voler escludere il numero zero dal conteggio dei numeri pari, semplicemente a scopo didattico, in quanto comunque zero è considerato un numero pari. Come possiamo modificare l’algoritmo? Ecco di seguito una possibile implementazione:
contap = contad = i = 0
while i < 10:
n = int(input('Inserisci un numero: '))
if n != 0:
if n % 2 == 0:
contap += 1
else:
contad += 1
i += 1
print('I numeri pari inseriti sono:', contap)
print('I numeri dispari inseriti sono:', contad)
Facciamo un’ulteriore modifica contando adesso quanti numeri uguali a zero sono stati inseriti.
contap = contan = contaz = i = 0
while i < 10:
n = int(input('Inserisci un numero: '))
if n == 0:
contaz += 1
elif n % 2 == 0:
contap += 1
else:
contan += 1
i += 1
print('I numeri pari inseriti sono:', contap, 'I numeri dispari inseriti sono:', contan, 'I numeri uguali a zero sono:', contaz)
Disponibile il libro su Python “50 Algoritmi per imparare Python”
In questo esempio vogliamo eseguire questo algoritmo:
Calcolare e visualizzare la tabellina del 2.
Un primo procedimento che fa uso di una sola variabile può essere questo:
i = 0
while i <= 20:
print(i)
i += 2
Abbiamo inizializzato la variabile i a 0 e l’abbiamo incrementata di due ad ogni iterazione finché la condizione i <= 20 è vera.
Ma possiamo anche pensare ad un’altra possibile soluzione dove utilizziamo una variabile i che moltiplichiamo per due.
Questa variabile si incrementa per ogni operazione di 1 fino ad arrivare a 10.
i = 0
while i <= 10:
n = i * 2
print(2, 'x', i, '=', n)
i += 1
Potremmo anche definire un valore costante così da modificare facilmente la tabellina.
i = 0
t = 2
while i <= 10:
n = i * t
print(t, 'x', i, '=', n)
i += 1
Modificando il valore di t, possiamo generare facilmente le tabelline di qualsiasi numero desiderato.
Conclusioni
In conclusione, abbiamo esaminato alcuni esempi pratici sull’utilizzo del ciclo while in Python per consolidare la comprensione delle iterazioni. Nel primo esempio, abbiamo sviluppato un programma per contare i numeri pari e dispari inseriti dall’utente, inclusa la gestione del numero zero ed il conteggio dei numeri pari e dispari. Nel secondo esempio, abbiamo esplorato diverse metodologie per generare e visualizzare la tabellina di un numero specifico, evidenziando come un singolo valore costante possa essere modificato per ottenere tabelline di diversi numeri.
Questi esempi illustrano il potenziale del ciclo while per automatizzare operazioni ripetitive e risolvere problemi in modo efficiente. Inoltre, abbiamo sottolineato l’importanza della comprensione dell’operatore modulo % per identificare i numeri pari e la flessibilità nel modificare un valore costante per adattare il programma a diverse esigenze.
Con una buona comprensione di questi concetti e una pratica continua, è possibile utilizzare il ciclo while in modo efficace per risolvere una vasta gamma di problemi di programmazione. Continuando a esplorare ulteriori esempi e applicazioni, è possibile migliorare le proprie capacità di programmazione e diventare più sicuri nell’uso di Python per risolvere problemi reali.
Seguite le prossime lezioni dove affronteremo ancora altri esempi sul ciclo while in Python.
Nella lezione su Python di oggi approfondiremo il ciclo while attraverso una serie di esempi pratici. Questo ci consentirà di rafforzare la comprensione di questo fondamentale concetto di programmazione, già introdotto nella precedente sessione.
Python while – Conto alla rovescia
Realizzare un algoritmo che effettua un conto alla rovescia, cioè visualizzi, ad esempio, in ordine decrescente i numeri da 10 a 1.
Chiaramente in questo caso non c’è alcun valore in input da inserire, si parte da una variabile che chiamiamo n e che inizializziamo a 10 e dopo la decrementiamo ogni volta di uno.
Ecco dunque il codice in Python:
n = 10
while n > 0:
print(n)
n -= 1
Python while – Ciclo infinito
Introdurremo ora il concetto di ciclo infinito, partendo proprio dall’esempio di conto alla rovescia. Se commettiamo un errore di indentazione come mostrato di seguito:
Ecco dunque un possibile loop infinito:
n = 10
while n > 0:
print(n)
n -= 1
In questo caso, l’istruzione n -= 1 non verrà mai eseguita, poiché la condizione “n > 0” rimane costantemente vera e il ciclo continuerà all’infinito. Se eseguiamo lo script, vedremo sempre stampato il valore 10, poiché non usciremo mai dal ciclo. In poche parole, l’istruzione print(n) è eseguita finchè n > 0 e questa condizione è sempre vera.
Python while – Ciclo mai eseguito
Facciamo adesso un esempio di un ciclo che non verrà mai eseguito. Supponiamo ad esempio di sbagliare condizione e di scrivere n < 0.
Il valore di partenza è 10 e non è minore di 0, quindi in questo caso il ciclo non verrà mai eseguito.
Ecco dunque il codice sotto:
n = 10
while n < 0:
print(n)
n -= 1
In questo caso, poiché il valore di partenza è 10 e non è minore di 0, il ciclo non verrà mai eseguito.
Disponibile il libro su Python “50 Algoritmi per imparare Python”
In questa lezione abbiamo svolto alcuni esempi basilari in Python dell’utilizzo del ciclo while. Vi invito a condividere le vostre considerazioni e domande nei commenti sottostanti. Continuate ad esplorare le potenzialità di questa struttura di controllo fondamentale nella programmazione Python e a seguire gli articoli del blog che propongono una vasta gamma di esercizi con il ciclo while!
In questa lezione esamineremo attentamente il ciclo while in Python, una potente struttura di controllo che consente di eseguire una sequenza di istruzioni fintanto che una determinata condizione risulta vera.
Un ciclo while, quindi, continua ad eseguire le istruzioni finché la condizione specificata rimane vera. Una volta che la condizione diventa falsa, il ciclo viene interrotto e l’esecuzione del programma procede oltre.
Gestione degli Errori e Cicli Infiniti
È importante prestare attenzione per evitare cicli infiniti, dove la condizione del ciclo non diventa mai False. Ciò potrebbe verificarsi se la condizione non viene aggiornata correttamente all’interno del ciclo. Inoltre, è essenziale considerare la gestione degli errori per evitare che il programma si blocchi o vada in loop infinito in caso di input non valido.
Sintassi ciclo while Python
La sintassi del ciclo while in Python è dunque la seguente:
while condizione:
istruzioni
Dove “condizione” è un’espressione booleana che viene valutata ad ogni iterazione. Se la condizione è True, le istruzioni all’interno del blocco vengono eseguite. L’indentazione delle istruzioni è fondamentale in Python e indica che tali istruzioni fanno parte del corpo del ciclo while.
L’indentazione delle istruzioni è fondamentale e indica che tali istruzioni sono parte integrante del ciclo while. Il carattere due punti (:) dopo la condizione segna l’inizio del blocco di istruzioni da eseguire mentre la condizione rimane vera.
Il ciclo while rappresenta un costrutto pre-condizionale, poiché il controllo della condizione avviene prima dell’esecuzione delle istruzioni all’interno del ciclo. Se la condizione è falsa fin dall’inizio, le istruzioni non verranno eseguite nemmeno una volta.
Disponibile il libro su Python “50 Algoritmi per imparare Python”
Vediamo un semplice esempio per comprendere meglio il funzionamento del ciclo while:
Prendere in input 10 numeri e sommarli.
Per realizzare questo programma usiamo una variabile contatore, che chiamiamo ad esempio i ed inizializziamo a 0. Dopo, per ogni numero inserito, la incrementiamo di 1 (i+=1).
Dunque il ciclo dovrà continuare finché i sarà uguale a 9 (da 0 a 9 sono 10 numeri). Allora la nostra condizione sarà questa: i < 10.
Inizializziamo anche la somma a zero perché la prima volta che eseguiamo questa operazione: somma = somma + n, somma non ha un valore definito. Dunque essendo 0 l’elemento neutro della somma, faccio quest’assegnazione.
Ecco dunque un semplice esempio di sviluppo del programma utilizzando il ciclo while in Python:
i = somma = 0
while i < 10:
n = int(input("Inserisci un numero: "))
somma += n
i += 1
print("La somma è:", somma)
Le istruzioni all’interno del ciclo vengono eseguite finché i è minore di 10. Ogni volta che inseriamo un numero, incrementiamo sia il contatore i che la somma dei numeri inseriti. Una volta che abbiamo inserito tutti i 10 numeri, la somma viene stampata a schermo. Difatti, l’istruzione print viene eseguita dopo il ciclo while.
In molti altri linguaggi di programmazione siamo abituati ad incrementare la variabile con i++ ma in Python questo non è possibile.
Conclusioni
Questo esempio sul ciclo while in Python fornisce solo un’introduzione basilare, nelle prossime lezioni, esploreremo casi più complessi, come i cicli infiniti e quelli mai eseguiti, per approfondire ulteriormente la nostra comprensione di questa potente struttura di controllo di flusso. Il ciclo while è una potente struttura di controllo che fornisce flessibilità nell’iterazione attraverso un blocco di istruzioni basato su una condizione specifica. È ampiamente utilizzato per implementare algoritmi di loop, iterare su dati dinamici e risolvere una vasta gamma di problemi computazionali. Continuate da esplorare gli altri articoli del blog per diventare sempre più esperti nell’uso del ciclo while in Python e degli altri costrutti iterativi. Nelle prossime lezioni seguiranno infatti tantissimi esempi su queste strutture!
In questa lezione affronteremo alcuni esempi sulle istruzioni condizionali in Python, al fine di consolidare gli argomenti studiati finora.
Primo esempio sulle istruzioni condizionali in Python
Stabilire se un angolo è acuto, ottuso o retto.
L’algoritmo si risolve molto facilmente, infatti ad esempio nella prima condizione ci chiediamo: l’angolo è uguale a 90 gradi?
Se è vero allora si tratta di un angolo retto. Altrimenti se non è vero si controlla se l’angolo è inferiore a 90 gradi. Altrimenti se neanche questo è vero vuol dire, per esclusione, che l’angolo è ottuso.
Chiaramente potevamo ragionare anche diversamente, ad esempio inserendo come prima condizione angolo < 90 e così via.
Possiamo implementare questo algoritmo in Python come segue:
angolo = int(input('Inserisci l\'angolo: '))
if angolo == 90:
print('L\'angolo è retto')
elif angolo < 90:
print('L\'angolo è acuto')
else:
print('L\'angolo è ottuso')
Disponibile il libro su Python “50 Algoritmi per imparare Python”
Realizziamo adesso un secondo algoritmo sugli angoli in Python.
Stabilire se un angolo è retto, piatto, giro o qualsiasi.
Anche questo l’algoritmo è abbastanza semplice da realizzare, possiamo ad esempio partire dalla condizione: angolo==90.
Se tale condizione è vera, allora l’angolo è retto. Altrimenti verifico se è uguale a 180 e visualizzo che l’angolo è piatto. Altrimenti controllo se l’angolo è uguale a 360 ed in questo caso visualizzo che l’angolo è giro. Se tutte le condizioni precedenti non sono verificate allora si tratta di un angolo qualunque.
Ecco come possiamo implementare questo algoritmo in Python:
angolo = int(input('Inserisci l\'angolo: '))
if angolo == 90:
print('L\'angolo è retto')
elif angolo == 180:
print('L\'angolo è piatto')
elif angolo == 360:
print('L\'angolo è giro')
else:
print('L\'angolo è qualunque')
In entrambi gli esempi d’uso delle istruzioni condizionali in Python, abbiamo presentato algoritmi semplici ma significativi che dimostrano l’efficacia delle istruzioni condizionali nel risolvere problemi di logica. La flessibilità delle istruzioni condizionali ci consente di adattare facilmente il codice a una vasta gamma di situazioni.
Sperimentate altre possibili soluzioni e proponete eventuali osservazioni o alternative nei commenti qui sotto. Continuiamo ad esplorare e approfondire le nostre competenze in Python insieme nelle prossime lezioni.