In questi esercizi faremo esperimenti sulle liste e, nel contempo, sul collaudo delle funzioni. Per poter svolgere questi esercizi, dovete scrivere programmi e test come file Python, non potete utilizzare i notebook.

Esercizio 1

Scrivere la funzione cerca_positivo(l) che restituisce il primo elemento positivo della lista l, oppure None se tale elemento non esiste.

Scrivere un test che controlli la correttezza della funzione che avete scritto, provando quantomeno che

  • cerca_positivo([-4, 2, 0]) restituisce 2
  • cerca_positivo([-4, -2]) restituisce None

Esercizio 2

Scrivere la funzione cerca_positivo_pos(l) che restituisce la posizione del primo elemento positivo presente nella lista l, oppure None se tale elemento non esiste.

Scrivere un test che controlli la correttezza della funzione che avete scritto, provando quantomeno che

  • cerca_positivo_pos([-4, 2, 0]) restituisce 1
  • cerca_positivo_pos([-4, -2]) restituisce None

Esercizio 3

Scrivere la funzione conta_lista che prende come argomenti una lista l ed un oggetto x, e restituisce il numero di volte che x compare in l. Ad esempio, conta_lista([ 1, 2, 3, 1, 4], 1) restituisce 2 perché il valore 1 compare due volte nella lista.

Scrivere un test per verificarne il corretto funzionamento (inventatevi voi due o tre casi da controllare).

Esercizio 4

Scrivere una funzione moltiplica_lista(l, v) che riceve come parametri una lista l e un valore v, e restituisce la lista formata dagli elementi di l, moltiplicati per v.  Scrivere un test che controlli la correttezza della funzione che avete scritto, provando quantomeno che

  • moltiplica_lista([], 10) restituisce []
  • moltiplica_lista([1, 2, 3], 3) restituisce [3, 6, 9]
  • moltiplica_lista(["a", "b", "c"], 3) restituisce ["aaa", "bbb", "ccc"]

Suggerimento. Partire da una lista vuota, e aggiungere una elemento alla volta con il metodo append o l'operazione +=.

Esercizio 5

Scrivere una funzione somma_liste che riceve in ingresso (come parametri) due liste di interi (si può assumere che siano della stessa lunghezza) e restituisce una nuova lista nella quale ogni elemento è ottenuto dalla somma dei corrispondenti elementi di input. Ad esempio, se in input riceve le liste [1, 2, 3] e [4, 5, 6], restituisce [5, 7, 9].

Scrivere un test per verificare il corretto funzionamento della funzione.

Esercizio 6

Scrivere una funzione input_lista_interi() che restituisce una lista di numeri interi letti da tastiera. La funzione chiede ripetutamente all'utente di inserire un numero intero e si ferma quando l'utente preme Invio senza inserire alcun dato. A quel punto restituisce una lista con tutti i numeri inseriti.

Collaudare questa funzione è complicato perché, a differenza delle altre qui sopra, prende l'input da tastiera e non dagli argomenti, quindi soprassediamo.

Esercizio 7

Scrivere una funzione lista_casuale(n, k) che restituisce una lista di n numeri interi, ognuno dei quali è un numero casuale tra 1 e k. Scrivere un test per verificarne il corretto funzionamento.

P.S. In questo caso, essendo i numeri casuali, non sappiamo a priori quali saranno i risultati, ma possiamo sicuramente controllare che la lunghezza della lista risultato e i numeri all'interno siano corretti.

Ultime modifiche: lunedì, 24 novembre 2025, 16:07