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

Do you need help?

Leggi Archivio Attori

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

- leggi_archivio_attori(file_json)
    che legge l'archivio json fornito in input che descrive tutti gli attori
    (con lo stesso formato del file di esempio actors.json)
    e torna un dizionario catalogo_attori { nome -> oggetto di tipo Attore } in cui:
    - le chiavi sono i nomi degli attori
        (prese dal campo "NAME" del dizionario presente per ogni attore nel file json)
    - i valori sono le corrispondenti istanze di tipo Attore create col costruttore passando
        come argomento il dizionario (letto dal file json) che contiene le informazioni dell'attore.

Penso di non aver compreso bene cosa deve fare questa funzione, allora:

devo creare un dizionario che come chiavi ha gli attori e fin qui tutto ok.. ma come valori non ho capito cosa va messo, Come faccio a metterci un istanza di tipo Attore se il costruttore di tipo Attore richiede il dizionario che sto creando? ho confuso forse?

521 views

2 Answers

_andrea_ (45670 points)
11 42 297
by (45.7k points)
Il json è un dizionario di dizionari con questa struttura
{
"Nome attore 1":{dizionario attore 1}
"Nome attore 2":{dizionario attore 2}
"Nome attore 3":{dizionario attore 3}
}
Aprendo il json ottieni un dizionario in cui le chiavi sono i nomi degli attori e i valori sono dizionari che contengoni i dati tipo NAME, REALNAME, BIRTH, DEAD, GENDER. Tu devi creare un dizionario che ha come chiavi sempre i nomi, ma come valori le istanze Attore create a partire dai dizionari specifici per ogni attore, non quello totale ottenuto dal json
DRDLCN (8070 points)
27 68 104
by (8.1k points)

quindi prima mi faccio le istanze Attore con i dizionari specifici e poi faccio - leggi_archivio_attori(file_json)  no?

_andrea_ (45670 points)
11 42 297
by (45.7k points)
Leggi_archivio_attori legge il json e crea le istanze Attore a partire dai dizionari all'interno del file. Mette tutto in un altro dizionario col formato
{
"Nome attore 1":istanza Attore 1
"Nome attore 2":istanza Attore 2
}
E lo ritorna
DRDLCN (8070 points)
27 68 104
by (8.1k points)
eh ok, ma l'istanza Attore 1 come la faccio?

chiamo il costruttore Attore no? Che pero mi chiede un dizionario del singolo attore
p
pietrobrega (4460 points)
4 13 42
by (4.5k points)
Esatto e tu devi fare Attore(dizionario) dove dizionario è l'elemento con chiave nome attore dentro al catalogo attori ossia un dizionario con dentro tutti i dati dell'attore
_andrea_ (45670 points)
11 42 297
by (45.7k points)
Devi passare {dizionario attore} al costruttore
Sickboy (28240 points)
7 25 68
by (28.2k points)
Fai un ciclo che scorre i nomi degli attori cioè i dizionari del json dentro ti costruisci un oggetto attore e carichi il dizionario che deve tornare la funzione, con chiave oggetto.nome e valore l'oggetto stesso