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

Do you need help?

es1 homework 4 non passo i test 5-6-7

FrancescoMauto (1000 points)
5 14 20
in Es1 by (1.0k points)
edited by
Non riesco a capire come mai non passo i test dal 5 al 7 del primo esercizio. Ho visto che era gia stata aperta una conversazione da un ragazzo dicendo che il suo problema era il calcolo dell'altezza,ma io non capisco proprio cosa sto sbagliando.

Qualcuno ha avuto il mio stesso problema ed e` riuscito a risolverlo?

Edit: l'errore che esce fuori dal tester è "assertion error" e differiscono moltissimi elementi
656 views

2 Answers

A
Anthony (420 points)
0 1 6
by (420 points)
edited by
Magari potresti scriverci che errore tirano fuori i test...
FrancescoMauto (1000 points)
5 14 20
by (1.0k points)
Hai ragione,mi scuso. Mi esce "assertion error" e mi dice che moltissimi elementi sono diversi rispetto a quelli che si aspettava il tester.
A
Anthony (420 points)
0 1 6
by (420 points)
Potrebbe essere un errato ordinamento della serie numerica nella lista delle chiavi del dizionario che vai a memorizzare nel json?
FrancescoMauto (1000 points)
5 14 20
by (1.0k points)
ci avevo pensato,anche grazie ad un suggerimento di un mio amico. Ho controllato e sembra andare bene,essendo un ordinamento crescente e`difficile sbagliare...
FrancescoMauto (1000 points)
5 14 20
by (1.0k points)

AssertionError: {'266244': [3, [74801]], '522244': [2, [201[14547 chars]56]]} != {'492254': [2, [46180, 816395]], '424053': [14580 chars]93]]}
E   Diff is 17933 characters long. Set self.maxDiff to None to see it. : I due file JSON contengono strutture diverse

Sono tornato ora a casa,questo e` il messaggio di errore.

A
Anthony (420 points)
0 1 6
by (420 points)

test_01.py:41: in do_test
    self.check_json_file(fileOutJSON, expectedJSON)
testlib.py:102: in check_json_file
    self.assertEqual(A, B, msg)
E   AssertionError: {'266244': [3, [74801]], '522244': [2, [201[14580 chars]56]]} != {'492254': [2, [46180, 816395]], '424053': [14580 chars]93]]}
E   Diff is 26745 characters long. Set self.maxDiff to None to see it. : I due file JSON contengono strutture diverse

[Premetto che il programma originale supera il test in questione]

Ho provato a modificare il mio programma (per vedere gli errori senza ordinamento, giusto anche per curiosità). L'errore è molto simile al tuo, se non per il fatto che c'è una differenza di nodi. Magari è possibile che per qualche motivo non ritorni qualche nodo dalla ricorsione e/o da una qualche funzione? O, non so, qualche aggiunta alla variabile che non viene eseguito? 

andrea.sterbini (207940 points)
756 1270 2377
by (208k points)

Per vedere nel dettaglio la differenza tra le due strutture completa aggiungi al test l'istruzione

self.maxDiff = None

FrancescoMauto (1000 points)
5 14 20
by (1.0k points)
non riesco a capire. Ora vedo di controllare a mano,sara` laborioso ma non riesco proprio a venirne fuori. Ho controllato nuovamente la correttezza delle mie funzioni altezza e insieme_foglie e sembrano essere giuste. Ho provato anche a vedere se il problema fosse l'ordinamento ma niente. L'unica cosa sono i nodi. Controllo e ti faro` sapere
FrancescoMauto (1000 points)
5 14 20
by (1.0k points)
Penso di aver trovato il problema. Probabilmente inserisco male dei nodi all'interno delle radici,perche` per esempio alla radice "55" invece di avere altezza 4 aveva altezza 3. Vedo di capire dove sto sbagliando,sicuramente sara` nella funzione ricorsiva.
1
1824194 (1040 points)
6 15 23
by (1.0k points)
la ricorsione che impieghi probabilmente con 1000 o più elementi supera i 2 secondi e il sistema si blocca. Aprii io quel thread e ho consegnato con solo 4/7 test passati. Bisognerebbe creare un altro tipo di codice per gli ultimi tre poiché impiega troppo tempo la ricorsione fatta migliaia di volte.
FrancescoMauto (1000 points)
5 14 20
by (1.0k points)
Non impiega troppo tempo,anzi è veloce apparte per il settimo test. Il problema è un altro