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.

Errore es3 aggiungi attore

DRDLCN (8070 points)
24 68 104
in Es3 by (8.1k points)

self.assertEqual(attore.films(),    set(),
>                        f"I film dell'attore all'inizio devono essere un insieme vuoto")
E       AssertionError: Items in the first set but not the second:
E       'The Misfits'
E       'All About Eve'
E       'The Seven Year Itch'
E       'Niagara'
E       'The Asphalt Jungle'
E       'Some Like It Hot'
E       'Monkey Business'
E       'Gentlemen Prefer Blondes' : I film dell'attore all'inizio devono essere un insieme vuoto

il test mi ritorna questo errore, perchè dice che quando chiama attore.films() il set non è vuoto all'inizio...

prima cosa io costruisco un set vuoto prima di tutto nel metodo films()

e poi ritorno l'insieme riempito...cosa sbaglio?

505 views
closed

2 Answers

Best answer
_andrea_ (45670 points)
10 42 297
by (45.7k points)
selected by
Penso che il test richiami il metodo films su un attore appena creato, e quando è appena creato deve ritornare un insieme vuoto, a cui poi verranno aggiunti i film. Come aggiungi tu i film e quando?
_andrea_ (45670 points)
10 42 297
by (45.7k points)
Dentro ogni attore crei un set inizialmente vuoto che diventerà proprio quel set in cui metti i film. Nel metodo films ritorni quel set. Man mano che scorri i film aggiungi il film a ogni attore che ci ha lavoraroz così quando ti chiede attore.films() il metodo ritorna proprio quel set, che all'inizio era vuoto, ma dopo cu aggiungi i film. Lo stesso lo fai con i film e i registi, ci metti i set che ti servono
DRDLCN (8070 points)
24 68 104
by (8.1k points)
okay ho ricominciato, quando dici man mano che scorri i film intendi dentro la funzione leggi archivio film?
_andrea_ (45670 points)
10 42 297
by (45.7k points)
Si. Le due funzioni sono le uniche cose che scegli tu, e vengono eseguite. Dentro quelle devi aver fornito a ogni oggetto tutto quelll che gli serve per ottenere i risultati giusti ai test successivi
DRDLCN (8070 points)
24 68 104
by (8.1k points)
edited by

sei stato di grande aiuto! 

EDIT:

def attori(self):
        '''torna l'insieme di istanze di tipo Attore che hanno lavorato al film'''
       

anche qui dentro ogni film inizialmente devo creare un set vuoto attori?

_andrea_ (45670 points)
10 42 297
by (45.7k points)
Si anche lì e in quello dei registi
andrea.sterbini (207880 points)
745 1264 2372
by (208k points)
Visto che l'archivio degli attori/film potrebbe essere diverso, un nuovo Attore appena istanziato non può sapere in quali film ha lavorato, e quindi Attore.films() deve tornare un insieme vuoto.

Solo dopo aver creato gli attori del catalogo_attori, quando creo i film (dal file che voglio io), allora puoi aggiungere gli attori ai loro film ed i film ai loro attori.