• Non ci sono risultati.

Corso di Linguaggi Dinamici Esercitazione su Python

N/A
N/A
Protected

Academic year: 2021

Condividi "Corso di Linguaggi Dinamici Esercitazione su Python"

Copied!
1
0
0

Testo completo

(1)

Corso di Linguaggi Dinamici Esercitazione su Python

Esercizio 1. Facendo riferimento alla esercitazione precedente sugli oggetti in Python, si richiede di generare un numero casuale di oggetti di sottoclassi di Animale, le cui caratteristiche (nome, età, razza, mantello e peso) sono scelte casualmente per ogni istanza. Tutti gli oggetti devono essere inseriti dentro un array zoo.

Si scriva ogni oggetto creato su un file chiamato zoo.dat, serializzandolo tramite il modulo pickle. Si legga ogni oggetto dal file e si stampi una informazione per ogni lettura.

Si scriva tutto l’array zoo su un file chiamato zoo_all.dat, serializzandolo tramite il modulo pickle. Si legga l’array dal file e si stampi una informazione sulla lettura.

Si utilizzi il costrutto try-except per catture le possibili eccezioni di I/O.

Tempo a disposizione: 45 minuti.

Esercizio 2. Si definisca una classe Lista che implementa una lista a riferimenti. Le operazioni che la classe deve mettere a disposizione sono:

• Costruttore della lista vuota

• isEmpty per dire se la lista è vuota

• cons per aggiungere un elemento in testa alla lista

• head per restituire il primo elemento della lista

• tail per restituire una copia della lista senza primo elemento

Predisporre un file Python che sfrutti la classe Lista, e definisca due funzioni:

• len_list(l) che restituisce la lunghezza di una lista passata come parametro (suggerimento: si sfrutti la ricorsione)

• print_list(l) che stampa tutti gli elementi di una lista passata come parametro entrambe le funzioni devono sfruttare solo le 4 operazioni messe a disposizione da Lista.

Tempo a disposizione: 45 minuti.

Riferimenti

Documenti correlati

(a) Esibire una relazione su di X, che sia riflessiva, simmetrica, ma non transitiva.. (b) Esibire una relazione su di X, che sia simmetrica, transitiva ma

Non abbiamo quindi modo di modificare le chiavi degli elementi della lista in modo da essere sicuri di riconoscere gli elementi su cui si ` e gi` a passati.. Proviamo dunque

• congruità dei risultati degli altri metodi su input normali (stringhe/interi non nulli). Nella fase di setUp è necessario creare un oggetto della classe

Ciascuna istanza di animale è rappresentata tramite un oggetto appartenente ad una sottoclasse della classe Animale, che definisce il comportamento

Il costruttore della classe Parser.py prende in ingresso il nome di un file e costruisce un dizionario multilivello D del tipo:. D[1.0][nome] = 'cavallo1'

Si sostituisca il buffer di testo con un'area di disegno all'interno della quale sono mostrate delle icone rappresentative degli animali. Si arricchisca la classe Animale con

Il dialogo di selezione file permette di impostare un nuovo file di configurazione e di reinizializzare lo stato interno dello zoo.. Infine, l'intervallo di

L'applicazione zoo_stats.py prende in ingresso il file di log generato da zoo.py, estrae lo spazio medio percorso da tutti gli animali presenti nello zoo, genera altrettanti