Ciao ragazzi, purtroppo questo esercizio 2 non ne vuole sapere di passare i test. Sono riuscito a risolvere qualche problema e finalmente almeno 3 test li passa. L'ordinamento è corretto dato che era uno dei problemi che avevo, in pratica trovo tutti i sub compiti con il ciclo for, il programma li trova andando a cercare di volta in volta se il sub compito trovato ne ha altri, quindi al termine del ciclo uso [::-1] per rigirare la lista così da avere in ordine i compiti da svolgere. Cambiando questa cosa ho risolto i primi tre test infatti l'ordinamento è corretto.
Invece mi ritrovo il problema opposto nei test 4 e 5. Vi scrivo i risultati di una sola chiave, la mia lista è esatta ma al contrario
mio risultato:
{"1582": ["28374", "35331", "12318", "18794", "32866", "3879", "2430", "8066", "19660"]}
risultato grader:
{"1582": ["19660", "8066", "2430", "3879", "32866", "18794", "12318", "35331", "28374"]}
EDIT:
Ho notato che se non rigiro la lista con [::-1] e controllando i risultati dei file test e file testRisultato, i miei file test del 1,2,3 esercizio giustamente sono al contrario e non passano i test, e neanche i test 4 e 5. Ma se rigiro la lista i valori nei miei file 1,2,3 cambia e infatti passa i test, mentre quelli dei file 4 e 5 non cambiano..
Ok ho passato i parametri del grader 4 direttamente e il problema non è che non li ordina, ma che non ci arriva alla parte dell'ordinamento perché va in errore prima. Ecco l'errore che mi riporta:
Traceback (most recent call last):
File "program02.py", line 141, in <module>
print(pianifica('file02_50000_100.txt', set([str(i) for i in range(1000,2001)]),'test4.json'))
File "program02.py", line 81, in pianifica
subCompito=trovaSubCompiti(dizionarioCompleto, valore)
File "program02.py", line 133, in trovaSubCompiti
lista+=dizionarioCompleto[numero]
KeyError: '2240167422989517574790343682117243861'
EDIT!!:
Ragazzi ho sistemato da solo, era un piccolo errore, ora funziona tutto!
Invece mi ritrovo il problema opposto nei test 4 e 5. Vi scrivo i risultati di una sola chiave, la mia lista è esatta ma al contrario
mio risultato:
{"1582": ["28374", "35331", "12318", "18794", "32866", "3879", "2430", "8066", "19660"]}
risultato grader:
{"1582": ["19660", "8066", "2430", "3879", "32866", "18794", "12318", "35331", "28374"]}
EDIT:
Ho notato che se non rigiro la lista con [::-1] e controllando i risultati dei file test e file testRisultato, i miei file test del 1,2,3 esercizio giustamente sono al contrario e non passano i test, e neanche i test 4 e 5. Ma se rigiro la lista i valori nei miei file 1,2,3 cambia e infatti passa i test, mentre quelli dei file 4 e 5 non cambiano..
Ok ho passato i parametri del grader 4 direttamente e il problema non è che non li ordina, ma che non ci arriva alla parte dell'ordinamento perché va in errore prima. Ecco l'errore che mi riporta:
Traceback (most recent call last):
File "program02.py", line 141, in <module>
print(pianifica('file02_50000_100.txt', set([str(i) for i in range(1000,2001)]),'test4.json'))
File "program02.py", line 81, in pianifica
subCompito=trovaSubCompiti(dizionarioCompleto, valore)
File "program02.py", line 133, in trovaSubCompiti
lista+=dizionarioCompleto[numero]
KeyError: '2240167422989517574790343682117243861'
EDIT!!:
Ragazzi ho sistemato da solo, era un piccolo errore, ora funziona tutto!