Press ESC to close

Esercizio con il while in Python

0 1689

Realizziamo un semplice esercizio con il while in Python, al fine di esercitarci.

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.

a=int(input(‘Inserisci il numero a: ‘))

b=int(input(‘Inserisci il numero b: ‘))

if a<b:

a,b=b,a

d=a-b

while d>=3:

print(d)

d=d-b;

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

Abbiamo realizzato un semplice esercizio con il while in Python, nelle prossime lezioni affronteremo altri esercizi.

Alcuni link utili

Indice tutorial sul linguaggio 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

Other stories

Insert Python

Next Story

Numeri primi da 2 fino ad N

Previous Story