P.16 Contare le occorrenze

Abbiamo un’elenco di numeri e desideriamo contare quante volte compare un certo valore, oppure quanti numeri pari si trovano nell’elenco. In questo caso è necessario elaborare sempre tutta la lista: non abbiamo scorciatoie.

A differenza dell’esempio precedente, dovendo conteggiare le occorrenze dei numeri pari, sarà necessario predisporre una variabile da aggiornare mentre scorriamo la lista.

Per verificare se un numero è pari o dispari utilizzeremo l’operatore modulo (%) che esegue la divisione di un numero per il divisore indicato e restituisce il resto della divisione. Dividendo un numero per 2 possiamo avere solo due possibili valori per il resto: 0 o 1. Nel primo caso il numero sarà pari, infatti se il numero è divisibile per 2, non ci sarà resto. In ogni altro caso avremo un numero dispari con resto pari a 1. Per verificare il funzionamento dell’operatore modulo possiamo scrivere un piccolo programma:

n = 12
resto = n%2

if (resto  == 0):
    print(‘pari’)
else:
    print(‘dispari’)

Listato 1.26 – Conta quanti numeri pari sono presenti nella lista.

Il numero da verificare è memorizzato nella variabile n. Calcoliamo il resto della divisione per 2 e salviamo il risultato nella variabile resto; dopo aver verificato il suo valore, stampiamo un messaggio.

Possiamo ora affrontare il programma per il conteggio dei numeri pari. I numeri sono raccolti nella lista numeri. La variabile conteggio conterà le occorrenze dei numeri pari rilevati. Ecco il codice completo:

numeri = [12,23,43,5,6,7,34,5,46,76,9]
#numero da cercare
conteggio = 0

for el in numeri:
    print(el, end=' ')
    if ((el % 2) == 0):
        conteggio += 1    

print("\nnumeri pari: ", conteggio)

Listato 1.27 – Conta quanti numeri pari sono presenti nella lista.

Eseguendolo otterremo:

12 23 43 5 6 7 34 5 46 76 9 
numeri pari:  5

Cose da provare

  • Chiedete dei numeri all’utilizzatore del vostro programma, inseriteli in una lista e poi indicate quanti sono i numeri pari e dispari presenti nell’elenco.
  • Chiedete un elenco di numeri e poi calcolatene la somma
  • Realizzate un programma che analizza una lista di numeri e stampa tutti quelli superiori a un certo valore.