Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

es 3 hw3 funzione leggi_archivio_film

G
Gdn98 (11600 points)
5 35 101
in Es3 by (11.6k points)
Dopo che ci si è creati il catalogo_attori nella forma {nome: oggetto tipo Attore} dove questo oggetto non avrà il set di film in cui l'attore è comparso e neanche i registi, mi chiedo come posso nella seconda funzione mettere queste informazioni per poi richiamare Attore (argomento) dove argomento contiene le informazioni di prima + queste nuove?
227 views

1 Answer

p
pietrobrega (4460 points)
6 13 42
by (4.5k points)
Dentro ad Attore ed a Regista devi fare un metodo per inserire i film o ciò che ti interessa. Quindi nel costruttore init l'attributo corrispondente all'insieme di film sarà inizializzato vuoto.
G
Gdn98 (11600 points)
5 35 101
by (11.6k points)
edited by
Correggimi se sbaglio, io quindi quando chiamo Attore nella prima funzione, il set è vuoto perchè l'ho inizializzato cosi, poi nella seconda funzione devo richiamarmi, un nuovo oggetto attore che abbia: gli argomenti dell'oggetto Attore vecchio e le info sui film in cui ha partecipato?
p
pietrobrega (4460 points)
6 13 42
by (4.5k points)
L'istanza di Attore che hai creato nella prima funzione ce l'hai già nel dizionario catalogo_attori quindi scorrendo i film che hai ottenuto dal file json  per ogni film avrai un elenco di nomi di attori. I nomi degli attori saranno tra le chiavi del catalogo_attori invece come valore avrai l'istanza Attore corrispondente all'attore con quel nome. A questo punto che sai che in un film ha partecipato un determinato attore tu puoi creare l'istanza di quel film e aggiungerla all'interno degli attori che vi hanno recitato, in altro modo dovrai aggiungere le istanze degli attori che hanno partecipato al film dentro all'istanza del Film che hai appena creato.
G
Gdn98 (11600 points)
5 35 101
by (11.6k points)
ah ho capito allora era come stavo facendo prima solo che mi sono bloccato perchè non riesco a capire come possa aggiungere un istanza ad un'altra
p
pietrobrega (4460 points)
6 13 42
by (4.5k points)
Basta ad esempio che dentro alla classe Attore crei un metodo che aggiunge uno o più film all'argomento che hai inizializzato ad insieme vuoto nel costruttore di classe. Ad esempio se hai self.ins_film = set() puoi fare la funzione che aggiunge un elemento all'insieme.

Idem per le classi Film e Regista