Diario delle esercitazioni
Lezione 12 23/12/2020
Simulazione esame.
Zip con il contenuto dellasimulazione:
esercitazione-23-12-2020.zip (soluzioni:
program.py)
Lezione 11 16/12/2020
Ripasso generale: pack/unpack, alberi, ricorsione su filesystem, lambda function, filter/map, key function. Esercizi ricorsione.
Zip con gli esempi visti a lezione:
Lezione_11.zip
Registrazioni della lezione
Canale AL (
chat) e
Canale MZ (
chat)
Lezione 10 9/12/2020
Ricorsione su alberi binari e su alberi n-ari. Suggerimenti homework 8.
Zip con gli esempi visti a lezione:
Lezione_10.zip
Registrazioni della lezione
Canale AL (
chat ) e
Canale MZ (
chat)
Lezione 9 2/12/2020
Esercizi su ricorsione. Differenza fra soluzione iterativa e ricorsiva. Alberi binari.
Zip con gli esempi visti a lezione:
Lezione_9.zip
Registrazioni della lezione
Canale AL (
chat) e
Canale MZ (
chat)
Esercizi per allenarsi:
- Scrivere una funzione ricorsiva che riceve in input una stringa e una lettera e conta quante volte la lettera è ripetuta nella stringa, senza usare i metodi delle stringhe.
- Scrivere una funzione ricorsiva che riceve in input una stringa e ritorna una coppia in cui il primo valore è il numero di vocali e il secondo valore è il numero di consonanti presenti nella stringa.
- Scrivere una funzione ricorsiva che riceve in input due interi e ritorna il loro prodotto utilizzando soltanto addizioni e sottrazioni.
- Scrivere una funzione ricorsiva che riceve in input un intero e ritorna True se il numero è primo, False, altrimenti.
- Scrivere una funzione ricorsiva che riceve in input una lista di interi e ritorna il minimo valore fra tutti i valori della lista.
- Scrivere una funzione ricorsiva che riceve in input una lista di interi e ritorna una nuova lista in cui sono presenti soltanto i valori positivi della lista originaria.
- Scrivere una funzione ricorsiva che prende prende in input un albero binario e ritorna il minimo valore fra tutti i valori dei nodi dell'albero.
- Scrivere una funzione ricorsiva che prende prende in input un albero binario e ritorna il minimo valore fra tutti i valori delle foglie dell'albero.
- Scrivere una funzione ricorsiva che prende prende in input un albero binario e stampa i valori di tutte le foglie da quella più a destra a quella più a sinistra.
- Scrivere una funzione ricorsiva che prende prende in input un albero binario e un livello l, e ritorna la somma dei valori nei nodi al livello l.
Lezione 8 25/11/2020
Chiarimenti HW6-req, esercizi su immagini e classi. Soluzioni iterative e ricorsive.
Zip con gli esempi visti a lezione:
Lezione_8.zip
Registrazioni della lezione
Canale AL (
chat) e
Canale MZ (
chat)
Lezione 7 18/11/2020
Canale AL: esercizi su immagini e classi.
Canale MZ: esercizi su immagini e classi.
Zip con gli esempi visti a lezione:
Lezione_7.zip
Registrazioni della lezione
Canale AL (
chat) e
Canale MZ (
chat)
Lezione 6 11/11/2020
Canale AL: HW2-req revisione implementazioni, esercizi su matrici, esercizi su immagini.
Canale MZ: differenza fra generatori e iteratori, funzioni lambda per map, filter e sorting, esercizi su matrici.
Zip con gli esempi visti a lezione:
Lezione_6.zip
Registrazioni della lezione
Canale AL (
chat) e
Canale MZ (
chat)
Lezione 5 04/11/2020
Funzione key per il sorting. Lettura e scrittura file. Consigli per l'HW3opz.
Zip con gli esempi visti a lezione:
Lezione_5.zip
Registrazioni della lezione
Canale AL (
chat) e
Canale MZ (
chat)
Lezione 4 28/10/2020
Dizionari, set e modifica di variabili mutabili nelle funzioni.
Zip con gli esempi visti a lezione:
Lezione_4.zip
Registrazioni della lezione
Canale AL e
Canale MZ
Esercizi per allenarsi:
- Scrivere una funzione che prende una stringa contenente una serie di parole separate da spazi e costruisce un dizionario in cui le chiavi sono le ultime lettere delle parole della stringa e i valori ad esse associati sono liste con le parole che terminano con quella lettera. Le liste devono essere ordinate lessicograficamente.
Ad esempio, per la stringa "in verità non mi par vero affatto" deve restituire {'o':['affatto','vero'], 'n':['in','non'], 'à':['verità'], 'i':['mi'], 'r':['par']}
- Scrivere una funzione che prende un dizionario in cui ogni chiave è una stringa ed il valore è un intero e restituisce la lista ordinata di tutte le chiavi a cui corrisponde un valore pari.
Ad esempio, per il dizionario
{ ’topolino’:12, ’pluto’:3, ’minnie’:7, ’pippo’:4, ’qui’:3 }
la funzione deve restituire la lista [’pippo’,’topolino’].
- Scrivere una funzione che prende un dizionario del tipo {chiave:lista interi} e restituisce un nuovo dizionario con le stesse chiavi ma come valore la media degli interi nella lista del dizionario originale.
- Scrivere una funzione che prende due dizionari chiave:lista e ritorna un nuovo dizionario in cui sono presenti solo le chiavi presenti in entrambi i dizionari in input e i valori sono la lista data dall'unione delle due liste in input, associate alla stessa chiave
- Scrivere una funzione che prende una stringa di parole separate da spazi e costruisce un dizionario in cui le chiavi sono le lunghezze delle parole e i valori sono set con le parole che hanno esattamente quella lunghezza in numeri di caratteri.
Lezione 3 21/10/2020
Random, for vs while, map, list comprehension, join, print e argomenti sep/end, ricorsione.
Zip con gli esempi visti a lezione:
Lezione_3.zip
Registrazioni della lezione
Canale AL e
Canale MZ
Lezione 2 14/10/2020
Soluzione degli esercizi assegnati, funzioni e variabili locali, costrutti if e for, confronti, stringhe, liste.
Zip con gli esempi visti a lezione: Lezione_2.zip
Registrazioni della lezione
Canale AL e
Canale MZ
Esercizi per allenarsi:
Per gli esercizi con le liste, se possibile, scrivere sia la versione CON che quella SENZA "range" e, se possibile, scrivere sia la versione con FOR sia la versione con WHILE.
- Scrivere una funzione che riceve tre numeri interi g, m, a (si ipotizza che a sia sempre un numero dispari per evitare anni bisestili) e restituisce True o False a seconda se i tre numeri formano una data valida nel formato "g/m/a". Es: 30/2/2017 False, 1/1/1111 True.
- Scrivere una funzione che prende una lista di interi e restituisce la somma di tutti i numeri pari meno la somma di tutti i numeri dispari che la compongono.
- Scrivere una funzione che prende in input una stringa di parole separate da spazi e restituisce una lista con le lunghezze delle parole della stringa.
- Scrivere una funzione che verifica se una lista è ordinata in modo crescente (<=) (supponiamo che la lista contenga oggetti ordinabili).
- Scrivere una funzione che prende in input una lista di interi e ritorna la lista con i complementi a 10 degli interi della lista in input. (Complemento a 10 di un numero: link
)
Lezione 1 7/10/2020
Introduzione al corso, processo di risoluzione problemi tramite computazioni, tipi di file (binario e di testo), encoding, primi passi con python, IDLE e terminale.
Zip con gli esempi visti a lezione: Lezione_1.zip
Registrazioni della lezione
Canale AL e
Canale MZ
Esercizi per allenarsi, in aggiunta a quelli della Lezione 0:
- Scrivere uno script python che prende in input un numero float, ne calcola la radice cubica e la stampa a video
- Scrivere uno script python che prende in input un nome di persona (nome) e il nome di un frutto (frutto) e stampa: "(nome) adora mangiare (frutto)"
- Scrivere uno script python che prende in input due float a e b e calcola e stampa c, corrispondente all'ipotenusa del triangolo rettangolo avente per cateti due lati di lunghezza a e b, rispettivamente
- Scrivere uno script python che prende in input tre float a, b, c, e calcola e stampa l'espressione:
- Scrivere uno script python che prende in input tre float a, b, c, e calcola e stampa le due radici x dell'equazione:
Lezione 0
Primi passi con python