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

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

FAIL test_01 HW 4 ES 1

l
leoli (2930 points)
0 5 19
in Es1 by (2.9k points)
closed by

Ho dei problemi con i test del primo esercizio...

Quando lancio il tester mi da lo stesso messaggio di errore per tutti i test e al sesto test mi si blocca per sempre (?)

All'inizio  ho pensato che il problema fosse che il programma non termina mai, così ho preso i dati dal tester (le stringhe che vanno messe in input) e ho scritto i miei test misurando i tempi per fare ogni operazione del programma senza controllare che il risultato sia giusto e ho scoperto che il programma termina in tempi brevissimi. A questo punto penso che il problema sia nel tester solo che visti i messaggi poco chiari che sputa fuori non riesco a capire dove. Help plis

messaggi del tester di default:

test_1___es1_f1_json____es1_test1_json___3___es1_risTest1_json__ (__main__.Test)
tuple() -> empty tuple ...
Recursion detected! in compute_height
FAIL

i miei test:

running tests : 7/7
========== es1_100000e_100010n.json ==========
time to create the nodes : 0.33228254318237305
time to find the roots : 0.009211540222167969
time to create the output dictionary : 0.18651294708251953
time to write the file : 0.06406569480895996

i test 'mischiati' per vedere che succede:

test_1___es1_f1_json____es1_test1_json___3___es1_risTest1_json__ (__main__.Test)
tuple() -> empty tuple ... time to create the nodes : 0.000423431396484375
time to find the roots : 3.0994415283203125e-06
Recursion detected! in compute_height

FAIL

(Il programma finisce con FAIL e non da mai in output i tempi per creare il dizionario ne i tempi per scrivere su file)

321 views
closed

2 Answers

Best answer
andrea.sterbini (207920 points)
750 1267 2373
by (208k points)
selected by

Il messaggio della empty tuple non è un errore, viene generato dalla libreria ddt per realizzare test parametrici.

Se consegni riesco a vedere l'errore e capire se i fallimenti derivano da altro.

l
leoli (2930 points)
0 5 19
by (2.9k points)

Il problema era la funzione che calcolava l'altezza... Il grader lanciato dal mio computer non terminava mai e non loggava i messaggi di errore, una volta caricato su q2a sono riuscito a leggere gli output del grader.

PieMH (2300 points)
3 12 31
by (2.3k points)
Io leggo "empty tuple" che è un messaggio di errore lanciato se trova una tupla vuota nei valori del dizionario. Quindi vuoldire semplicemente quello che ti dice, che nel dizionario hai tuple vuote come valori, oppure, ma non sono sicuro, che non hai messo tuple ma altre strutture dati. Controlla bene come costruisci il dizionario, fattelo stampare per vedere come viene
l
leoli (2930 points)
0 5 19
by (2.9k points)
Ho controllato.. i risultati sono corretti (almeno i primi), vengono salvati come tuple e non ci sono tuple vuote