Esercizi con le liste in python

In questa lezione svilupperemo dei semplici esercizi con le liste in Python.


Esercizi con le liste in Python – primo esercizio

Popolare una lista di n elementi con i primi n numeri pari. Dopo averli inseriti visualizzare in output i valori memorizzati nella lista e la loro posizione.

Propongo una prima soluzione che utilizza un ciclo for con indice i da 0 ad n*2-1 a step di due.

Per inserire gli elementi nella nostra lista utilizziamo il metodo append.

Stampiamo poi gli elementi con un altro ciclo for.

Ecco quindi il codice di esempio:


n = int(input('Inserisci il numero di elementi:'))
pari = []

for i in range(0,n*2,2):
    pari.append(i)

print(pari) 
''' 
print(pari) stampa la lista con le parentesi e le virgole 
quindi in questo caso non va bene, 
non è quello che chiede l'esercizio
'''

Per stampare gli elementi della lista possiamo utilizzare un ciclo for che scorre tutta la lista. Quindi aggiungo il seguente codice al listato precedente:

for i in range(n):
    print('Elemento in posizione ', i, 'ha valore', pari[i])

Un secondo metodo per risolvere l’algoritmo potrebbe essere questo:


n = int(input('Quanti elementi?:'))
lista = []

c = 0
for i in range(n):
    lista.append(c)
    c += 2

for i in range(n):
    print('Elemento in posizione:', i, 'vale', lista[i])

Cioè si prende una variabile c che parte da 0 e che di volta in volta si incrementa di 2.


Esercizi con le liste – secondo esercizio

Popolare una lista di n elementi con i primi n multipli di 5 escludendo lo zero. Dopo aver terminato l’inserimento visualizzare in output i valori della lista e il relativo indice.

Intuiamo subito che basta inserire, per ogni elemento della lista, il prodotto dell’indice i per 5.

Quindi quando i=1 inserirà 5, poi quando i diventa 2 inserirà 10, poi 15, ecc.

Ecco quindi il codice completo:


n = 10
l = []

for i in range(1,n+1):
    l.append(i*5)

for i in range(n):
    print('Elemento in posizione ', i, 'ha valore', l[i])

Continuiamo proponendo altri esercizi con le liste in Python.


Terzo esercizio

Inserisci n elementi nella lista da tastiera. Al termine dell’inserimento visualizzare gli elementi con il relativo indice.

Per ogni iterazione chiediamo di inserire un numero e dopo lo aggiungiamo alla lista inizialmente vuota.

Ecco dunque il codice completo:


n = int(input('Inserisci n: '))
interi = []

for i in range(n):
    x = int(input('inserisci un numero: '))
    interi.append(x)

#visualizzo gli elementi
for i in range(n):
    print('Elemento in posizione ', i, 'ha valore ', interi[i])


Quarto esercizio

Creare una lista di n numeri decimali, sommarli e fare la media. Dopo l’inserimento sommarli e visualizzare in output la somma e la media.

Innanzitutto dichiariamo una lista vuota di elementi di nome numeri e per ogni i che varia da 0 ad n-1, chiediamo di inserire un numero decimale.

Calcoliamo la somma sommando ciascun elemento inserito e dopo il ciclo calcoliamo la media.

Infine visualizziamo la somma e la media.

Ecco quindi il codice completo:


n = int(input('Quanti elementi? '))
s = 0
numeri = []

for i in range(n):
    f = float(input('inserisci un numero: '))
    numeri.append(f)

for i in range(n):
    s += numeri[i]

m = s/n

print(s)
print(m)

Abbiamo sviluppato alcuni semplici esercizi con le liste in Python utilizzando il metodo append.

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

6 commenti a “Esercizi con le liste in Python”
  1. Non ho ben capito che risultato produce questo operatore su queste variabili. s+=f
    Non dovremmo fare la somma dei numeri digitati dall’utente (f) e successivamente dividerli per il numero nella variabile n?

    1. Gentilissimo, fare l’operazione s += f è equivalente a fare s = s + f e dunque a sommare di volta in volta tutti i numeri inseriti dall’utente (f).

  2. ho provato a fare la somma di numeri a caso, ad es.: 9, 7, 5, 12, 28, 16, 62, 54, 13 (quindi f) ed s mi risulta 117. Ma questo operatore non dovrebbe darmi la somma di tutti i numeri in input (9, 7, 5, 12, 28, 16, 62, 54, 13)?

  3. In quel caso non poteva vedere tutti i numeri inseriti nel precedente ciclo for, ma sommava n volte il numero f inserito per ultimo

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *