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:

Pubblicità

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.

Pubblicità

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')

Copertina: 50 Algoritmi per imparare Python
📚 Consigliato per te

50 Algoritmi per imparare Python

Una guida step by step per imparare Python con esercizi svolti.

Vedi su Amazon

...

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

Corso in diretta su Python

1 – Introduzione al linguaggio Python

2 – Le variabili

3 – Operatori aritmetici e di assegnazione

4 – Stringhe

5 – Casting

6 – Input e print

7 – Primi esercizi in Python

8 – Errori in Python

9 – Script Python

10 – Scambio di variabili

11 – Modulo math

12 – Operatori di confronto e booleani