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

Do you need help?

2377 != 2359

R
RigelsHysaj (1550 points)
10 36 50
in Es3 by (1.6k points)
recategorized by
Mettendo in un dizionario come chiave il titolo del film e come valore l'oggetto Film, nel caso di doppioni, quello che viene dopo sovrascrive quello di prima. Perché mi dovrebbe dare errore?

Poi questo altro  errore:  "8 != 5 : I registi tornati devono essere 5", è dovuto dal errore sopra?

Grazie mille :)
674 views
closed

1 Answer

Best answer
B
Ballants (3110 points)
2 4 20
by (3.1k points)
selected by
Il primo errore POTREBBE essere dovuto ai remake... controlla che tu stia inserendo il titolo del film e non ciò che è presente nella chiave "TITLE" (qui trovi l'avviso del prof al riguardo... https://q2a.di.uniroma1.it/10126/avviso-benedetti-remake-film-con-stesso-titolo-anno-diverso?show=10126#q10126&course=es3/homework-3/homework/fondamenti-di-programmazione-18-19)

Per il secondo errore il tuo problema è sempre nella seconda funzione.

Quando scorri gli oggetti film per trovare i registi può capitare che lo stesso regista abbia diretto più film. Quindi, quando crei gli oggetti di tipo regista, se non stai attento, rischi di creare per lo stesso regista 2 oggetti diversi (ognuno dei quali andrà messo nel rispettivo oggetto film).
R
RigelsHysaj (1550 points)
10 36 50
by (1.6k points)
Grazie per la risposta.

se è cosi:

"10 Things I Hate About You;1999": {
        "TITLE": [
            "10 Things I Hate About You",
            "1999"
        ],

io come chiave del dizionario devo mettere "10 Things I Hate About You;1999": oppure  "10 Things I Hate About You",?
R
RigelsHysaj (1550 points)
10 36 50
by (1.6k points)
il primo errore l'ho risolto. Era perchè invece di mettere come chiave "10 Things I Hate About You", mettevo "10 Things I Hate About You;1999".

Il secondo non ancora, e non capisco bene quello che dici tu, scusami.
B
Ballants (3110 points)
2 4 20
by (3.1k points)
Vediamo se riesco a spiegarmi meglio con un esempio:

Trovo il primo film e il regista è "Woody Allen"... perfetto, creo l'oggetto regista passando come parametro "Woody Allen".

Trovo il secondo film e il regista è di nuovo "Woody Allen"... se provassi a creare un oggetto come prima non restituirebbe lo stesso oggetto, ma uno differente (nonostante il parametro passato sia ancora una volta "Woody Allen").

Quindi nel primo film aggiungo un oggetto (il primo), ma nel secondo ne aggiungo uno diverso...in parole povere risultano esserci 2 oggetti diversi che identificano lo stesso regista
R
RigelsHysaj (1550 points)
10 36 50
by (1.6k points)
edited by
Perfetto risolto, li era il problema. Grazie mille, sei stato molto d'aiuto.
T
Tommaso (1480 points)
3 8 22
by (1.5k points)

Ciao, scusate ma non riesco a risolvere proprio questo punto, invece 2359 films aspettati nel dizionario io ne trovo 2455. Quindi nel caso di remake devo mettere solo il primo della lista? Nell'esempio di prima quindi "10 Things I Hate About You" e basta?

EDIT: ok risolto... ho primo solo il primo della lista, scartando il remake e sembra passare il test, grazie lo stesso :)

S
Stefano97 (100 points)
0 0 1
by (100 points)
Per caso potresti spiegarmi come hai fatto a risolvere? Io ho lo stesso problema ma se provo a mettere un controllo passa da 8 registi su 5 a 1 su 5 e non riesco a risolvere.
R
RigelsHysaj (1550 points)
10 36 50
by (1.6k points)
se il regista non è in catalogo_registi, creo l'oggetto Regista e metto nel dizionario come chiave il nome e come valore l'oggetto appena creato. Se non passa l'if va nella iterazione successiva. Cosi per un regista ho solo un oggetto.