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

Do you need help?

Errore es3 aggiungi attore

DRDLCN (8070 points)
27 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?

528 views
closed

2 Answers

Best answer
_andrea_ (45670 points)
11 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)
11 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)
27 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)
11 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)
27 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)
11 42 297
by (45.7k points)
Si anche lì e in quello dei registi
andrea.sterbini (207920 points)
750 1267 2373
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.