Esercizi con il while in Python

Esercizi con il while in Python

Propongo altri esercizi con il while in Python prima di passare ad altri argomenti.

Primo esercizio con il while in Python

Prendere in input 15 numeri e calcolare la media.

Innanzitutto diamo ad N il valore 15. N rappresenta quindi la quantità di numeri da inserire.

Utilizziamo una variabile contatore che parte da 0 e che si incrementa ogni volta di uno fino ad arrivare ad N.

Poi all’interno del while chiediamo di inserire un numero e lo sommiamo di volta in volta alla variabile somma.

Dopo il ciclo calcoliamo la media e la visualizziamo.

Ecco dunque il codice Python completo:

i, N=0, 15

somma=0

while i<N:

n=int(input(‘Inserisci un numero: ‘))

somma+=n

i+=1

media=float(somma/N)

print(‘La media è: ‘, media)

Potevamo anche utilizzare una sola variabile sia per la somma che per la media, dato che la variabile somma non viene più utilizzata all’interno del programma.

Ecco dunque una possibile variazione alla soluzione proposta prima:

i, N=0, 15

media=0

while i<N:

n=int(input(‘Inserisci un numero: ‘))

media+=n

i+=1

media=media/N

print(‘La media è: ‘, media)


Secondo esercizio

Inserire 10 numeri e sommare solo quelli compresi tra 100 e 1000.

i,N=0,10

somma=0

while i<N:

n=int(input(‘Inserisci un numero: ‘))

if n>=100 and n<=1000:

somma+=n

i+=1

print(‘La somma è: ‘, somma)

Questi sono solo dei semplici esercizi esercizi con il while in Python proposti a scopo didattico.


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

13 – If else

14 – If elif else

15 – If annidati

Massimo tra N numeri in Python

Massimo tra N numeri in Python

Realizziamo un algoritmo che calcola il massimo tra N numeri in Python, cioè che determini il valore maggiore dei numeri inseriti da tastiera.

La prima cosa da fare è dunque chiedere quanti numeri si vogliono inserire e si assegna questo valore ad N.

Si chiede dunque il primo numero e si assegna il valore appena inserito alla variabile massimo.

Si imposta la condizione: i<N-1 perché il primo numero è già stato inserito.

Dopo per ogni numero inserito si effettua il confronto: se n è maggiore di massimo si assegna a massimo il valore appena inserito.

Infine visualizziamo il valore massimo.

i=0

N=int(input(‘Quanti numeri vuoi inserire?:  ‘))

massimo=int(input(‘Inserisci il primo numero?:  ‘))

while i<N-1:

n=int(input(‘Inserisci un numero:  ‘))

if n>massimo:

massimo=n;

i+=1

print(‘Il massimo è: ‘, massimo)

Potremmo fare un controllo sul valore N, in modo tale che se l’utente inserisce un valore inferiore o uguale a zero dia un messaggio di errore.

i=0

N=int(input(‘Quanti numeri vuoi inserire?:  ‘))

if N>0:

massimo=int(input(‘Inserisci il primo numero?:  ‘))

while i<N-1:

n=int(input(‘Inserisci un numero:  ‘))

if n>massimo:

massimo=n;

i+=1

print(‘Il massimo è: ‘, massimo)

else:

print(‘Devi inserire una quantità pari almeno ad uno!’)

Nei prossimi tutorial torneremo ancora su quest’argomento, proponendo altre soluzioni alla ricerca del massimo tra N numeri in Python.

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

13 – If else

14 – If elif else

15 – If annidati

Esempi ciclo while in Python

Esempi ciclo while in Python

In questa lezione propongo degli esempi sul ciclo while in Python, al fine di consolidare l’argomento sulle iterazioni.

Primo esempio sul ciclo while in Python

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. Se inseriamo quindi un numero pari incrementiamo contap, altrimenti incrementiamo contad.

Quindi l’algoritmo si potrebbe risolvere in questo modo:

i=contap=contad=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?

i=contap=contad=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.

i=contap=contan=contaz=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)


Secondo esempio

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

In questo modo se ad esempio volessimo realizzare la tabellina del 9, basterebbe cambiare t=2 con t=9.

Nella prossima lezione affronteremo ancora altri esempi sul ciclo while in Python.

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

13 – If else

14 – If elif else

15 – If annidati

Python while

Python while

Python while – In questa lezione faremo alcuni esempi sull’uso del while in Python, al fine di consolidare quanto spiegato nella scorsa lezione.

Python – Conto alla rovescia con il ciclo while

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


Ciclo infinito

Partiamo proprio dall’esempio appena proposto per introdurre il concetto di ciclo infinito.

Ipotizziamo di sbagliare l’indentazione e di scrivere dunque:

n=10

while n>0:

print(n)

n-=1

In questo caso n-=1 non è mai eseguita perchè la condizione n>0 è sempre vera in quanto la variabile n non cambia.

Infatti, se lanciate lo script, nella shell comparirà sempre 10, perchè non si uscirà mai dal ciclo. L’istruzione print(n) infatti è eseguita finchè n>0 e questa condizione è sempre vera.


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

Questo era solo un banale esempio di utilizzo del while in Python, fate pure le vostre considerazioni nei commenti sotto.

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

13 – If else

14 – If elif else

15 – If annidati