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

Do you need help?

HW3bis es 3 funzione dynasty

L
LucaMattei (840 points)
4 22 27
in HW3bis by (840 points)
ho notato che l'ultimo test dell'es 3 è sulla funzione dinasty, non è complicato anzi, però ho un risultato diverso da quello atteso, facendo dei test su console ho notato che ci sono personaggi nel dizionario che hanno una famiglia allargata piu grande, variando un pò i valori ho intuito che, visto che alcuni personaggi hanno piu di un partner quindi si ritrovano con una famiglia allargata piu grande, generando una famiglia allargata piu grande di quella prevista dall'esercizio (Jon Snow 38 membri), alcuni esempi sono:

-Sansa Stark

-Lyanna Stark

che avendo piu di un partner si ritrovano con famiglie allargate piu grandi, come comportarsi? sono errati i test oppure va preso in considerazione solo l'ultimo partner?

grazie!
532 views

2 Answers

angelo.spognardi (8170 points)
75 155 224
by (8.2k points)
Non sono sicuro che sia come dici tu: occhio che la funzione non è ricorsiva, ovvero non è che devi richiamare famiglia_allargata del (o dei) partner, ma devi vedere solo le parentele dirette (ovvero non "nessuna") dei partner.
L
LucaMattei (840 points)
4 22 27
by (840 points)
la mia funzione non è ricorsiva ma per fare chiarezza cosa si intende parentele dirette? il testo cita:

"    -famiglia_allargata, che calcola e ritorna l'insieme dei personaggi che fanno
     parte della sua famiglia allargata ovvero hanno una parentela con lui o con
     il/la suo/a compagno/a"

premetto anche che il programma mi passa tutti i test sulla famiglia allargata

ora due righe su come ho cercato di risolvere l'esercizio:

inizializzo un'insieme

se c'è un partner, per ogni partner aggiungo all'insieme i genitori, fratelli e figli di ogni partner

poi se il personaggio appartiene ad almeno una casata aggiungo all'insieme tutti gli elementi di quella casata all'insieme

infine aggiungo all'insieme il personaggio, i genitori, i fratelli, la partner e i figli

svolgendo cosi' l'esercizio la funzione ritorna Lyanna Stark con un'insieme di 36 membri nella famiglia allargata, quindi si crea un caso di parità con la famiglia allargata di Jon Snow
angelo.spognardi (8170 points)
75 155 224
by (8.2k points)
Uhm, adesso mi hai quasi convinto e infatti ho trovato mi sa un bug nella mia implementazione... Faccio un doppio check con il prof. Sterbini, ma mi sa che dobbiamo aggiustare il test di Dynasty. Comunque, nella nuova implementazione non esce fuori Lyanna Stark (come indichi tu). Vediamo chi offre di più :-D
andrea.sterbini (207920 points)
749 1267 2373
by (208k points)
edited by
Stiamo correggendo la nostra implementazione ed i test, per stasera aggiorneremo zip e VM. Stay tuned.

Ho aggiornato lo zip e la VM
L
LucaMattei (840 points)
4 22 27
by (840 points)
Allore ok il test dynasty ora mi torna infatti uno degli output che mi ritornava (nelle varie implementazioni da me provate era proprio Sansa Stark)

Però scusate se insisto ma siamo sicuri che gli altri test andassero modificati? ora fallisco alcuni test la mia implementazioni rimane quella di sopra e andando a fare i controlli su console vedo che nei test non vengono aggiunti i parenti direttamente, per esempio il test 15 famiglia allargata di Kal Drogo la mia funzione ritorna un insieme con 16 elementi quella dei test invece ne ha 15, sono andato a controllare manualmente i risultati e il risultato expected non ha inserito il figlio nell'insieme io non ci metto nulla a cambiare implementazione vorrei solo capire come impostare l'esercizio mi attengo a questi test?

scusate ma cerco solo di migliorare il programma avendo delle linee guida
angelo.spognardi (8170 points)
75 155 224
by (8.2k points)
Hai ragione: l'implementazione mia aveva un modo diverso di costruire la famiglia allargata e, se non c'erano le casate di mezzo, lasciava a spasso un po' di gente! Ottima nota. Ho corretto implementazione e test e chiesto al prof. Sterbini di verificare e aggiornare il pacchetto.

Bravo!
andrea.sterbini (207920 points)
749 1267 2373
by (208k points)
edited by
Abbiamo aggiornato Zip e VM