Realizziamo un semplice esercizio utilizzando il costrutto while in Python, un ottimo modo per esercitarci e comprendere meglio il funzionamento di questo ciclo.
Scrivere un programma che, leggendo due numeri interi, sottrae il minore dal maggiore finché la loro differenza diventa inferiore a 3 unità, visualizzando sullo schermo il risultato di ogni iterazione.
Facciamo un esempio prendendo 2 valori a = 20 e b = 7.
In questo caso essendo a maggiore di b, si procederà con queste operazioni:
20 - 7 = 13 non è inferiore a 3 dunque si continua a sottrarre
13 - 7 = 6 non è inferiore a 3 dunque si continua a sottrarre
6 - 7 = -1 la differenza è inferiore a 3, quindi ci fermiamo.
Innanzitutto chiediamo in input i due numeri a e b interi.
Dopo con un'istruzione condizionale controlliamo se a è più piccolo di b. Se è vero scambiamo i valori.
Quindi memorizziamo in d la differenza tra a e b.
Dopo con un ciclo while che continua finché la differenza è minore di 3 continuiamo a sottrarre b da a. Quindi il maggiore lo stabiliamo solo all'inizio della procedura, dopo continuiamo a sottrarre.
Esercizio con il while in Python - implementazione
Ecco dunque il codice completo:
# Chiediamo in input i due numeri a e b interi.
a = int(input('Inserisci il numero a: '))
b = int(input('Inserisci il numero b: '))
# Se a è più piccolo di b, scambiamo i valori.
if a < b:
a, b = b, a
# Memorizziamo la differenza tra a e b.
d = a - b
# Controlliamo se i due numeri sono uguali.
if a == b:
print('I numeri sono uguali.')
# Continuiamo a sottrarre b da a finché la differenza è maggiore o uguale a 3.
while d >= 3:
print(d)
d = d - b
# Stampiamo un messaggio quando la differenza diventa inferiore a 3.
print(f'La differenza è inferiore a 3. Risultato finale: {d}')
Possiamo tralasciare il caso in cui a e b siano uguali in quanto il ciclo while comunque non verrà eseguito.
Qualora volessimo però visualizzare un messaggio in output che i due numeri sono uguali allora dovremmo aggiungere un'altra condizione.
...
if a < b:
a, b = b,a
elif a == b:
print('Numeri uguali')

50 Algoritmi per imparare Python
Una guida step by step per imparare Python con esercizi svolti.
...
Abbiamo dunque realizzato un esercizio semplice, ma molto utile per comprendere il funzionamento del ciclo while e per praticare con le istruzioni condizionali in Python.
Questo semplice esercizio ci aiuta a consolidare le nostre competenze di programmazione in Python e ci prepara per affrontare sfide più complesse in futuro. Continua a praticare e sperimentare con il codice per migliorare le tue abilità di programmazione!
Alcuni link utili
1 – Introduzione al linguaggio Python
2 – Le variabili
3 – Operatori aritmetici e di assegnazione
4 – Stringhe
5 – Casting
6 – Input e print
8 – Errori in Python
9 – Script Python
10 – Scambio di variabili
11 – Modulo math