da Cristina | Ott 5, 2019 | 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
da Cristina | Ott 5, 2019 | 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
da Cristina | Ott 5, 2019 | 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
da Cristina | Ott 5, 2019 | Python
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