In questa lezione spiegheremo alcuni esercizi svolti sulle liste in Python.

Esercizi svolti sulle liste in Python – primo esercizio

Popolare una lista di n elementi con i primi n multipli di 10. I numeri devono essere inseriti in coda alla lista.
Dopo l’inserimento visualizzare in output i valori della lista e il relativo indice.
Poi modificare solo gli elementi maggiori di 30 sottraendo la metà del numero. Visualizzare nuovamente la lista.

Una volta acquisito n occorre generare in automatico i multipli di 10 da inserire.

Ad esempio se n=5 allora la lista dovrà contenere questi valori:

0*10, 1*10, 2*10, 3*10, 4*10

Quindi posso assumere una costante che vale 10 e una variabile che cambia valore da 0 fino ad arrivare a 4.

Banner Pubblicitario

Quest’ultima variabile può essere rappresentata direttamente dall’indice i del ciclo for.

Dopo aver popolato la lista e aver visualizzato gli elementi con l’indice (attenzione l’esercizio chiede di visualizzare la lista dopo aver inserito tutti gli elementi, quindi occorre usare un altro ciclo for che scorre la lista), modifichiamo gli elementi maggiori di 30 togliendo metà del numero.

Infine, dopo le modifiche, visualizziamo nuovamente la lista.

Ecco dunque una possibile soluzione:

n=int(input('Inserisci la quantità di numeri da inserire:'))
l=[]
c=10

for i in range(n):
    l.append(i*c)

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

#modifico gli elementi maggiori di 30
for i in range(n):
    if l[i]>30:
        l[i]//=2

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

Vi propongo adesso altri esercizi sulle liste in Python.

Esercizi svolti sulle liste in Python – secondo esercizio

Dati due numeri, a e b, costruire una lista con una sequenza ascendente dal primo al secondo numero compreso. I numeri devono essere inseriti in testa alla lista. Dopo l’inserimento visualizzare la lista con il relativo indice.
Modificare poi ciascun elemento moltiplicandolo per 2. Infine visualizzare la lista modificata.

N.B. Se b è più piccolo di a si visualizzerà la lista vuota.

Banner pubblicitario

La difficoltà iniziale sta nell’utilizzo del metodo insert per inserire i numeri in testa alla lista.

Dunque per inserire una sequenza ascendente che va da a a b, utilizzando insert, devo prima inserire il numero più alto e cioè b.

Ecco perché conviene semplicemente invertire il range del for.

for i in range(b,a-1,-1):
    numeri.insert(0,i)

Quindi se ad esempio a=5 e b=10 allora devo avere in output la lista numeri=[5,6,7,8,9,10].

Per fare ciò considero il range con i che va da 10 a 5 a step di -1.

Il primo numero inserito in testa alla lista sarà dunque 10, poi 9, poi 8 e così via.

N.B. Utilizzando append posso semplicemente scrivere così:

for i in range(a,b+1):
    numeri.append(i)

Ma l’esercizio richiedeva l’uso di insert.

Dopo modifico semplicemente la lista moltiplicando per 2 ciascun elemento.

Ecco dunque il codice completo:

numeri=[]

a=int(input('inserire un numero'))
b=int(input('inserire un numero'))

for i in range(b,a-1,-1):
    numeri.insert(0,i)
    
for i in range(len(numeri2)):
    print(i,numeri[i])

#lista modificata

for i in range(len(numeri)):
    numeri[i]*=2

for i in range(len(numeri)):
    print(i,numeri[i])

Conclusioni

In questa sezione abbiamo affrontato alcuni esercizi svolti sulle liste in Python, nella prossima lezione ne propongo degli altri.

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