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.

Errore esercizio02

Fabrizio (1500 points)
1 8 16
in Es2 by (1.5k points)
edited by
Buonasera,

dopo aver finito il secondo esercizio del secondo hw l'ho provato sul grader ma ho ricevuto il seguente messaggio:

test_program_1                 
 il file contiene informazioni su soli 10 compiti

        error -> JSONDecodeError
        Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
test_program_2                 
 il file contiene informazioni su 10000 compiti e l'insieme ne contiene    10

        error -> JSONDecodeError
        Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
test_program_3                 
 il file contiene informazioni su 50000 compiti e l'insieme ne contiene    10

        error -> JSONDecodeError
        Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
test_program_4                 
 il file contiene informazioni su 50000 compiti e l'insieme ne contiene  1000

        error -> JSONDecodeError
        Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
test_program_5                 
 il file contiene informazioni su 50000 compiti e l'insieme ne contiene 50000

        error -> JSONDecodeError
        Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

              

Non capisco a cosa si riferisce questo errore, mi sembrava un problema del grader stesso ma non saprei interpretarlo.
746 views
closed

3 Answers

Best answer
A
Alessio.Luc (3920 points)
6 16 25
by (3.9k points)
selected by
Buonasera,

l'errore dovrebbe essere legato alla lettura della stringa json da parte del grader, ovvero il grader non riconosce la stringa come formato json. Controlla di aver codificato correttamente il dizionario con una funzione di json (ad esempio 'dumps') e che ad ogni chiave del dizionario corrisponda un valore.
francesco.dev (33560 points)
22 51 129
by (33.6k points)
Quoto, bella risposta!
A
Alessio.Luc (3920 points)
6 16 25
by (3.9k points)
Grazie mille!
D
Dammy The Mountain (740 points)
12 30 37
by (740 points)
Ok ho risolto il problema degli apici e dell'ordine nelle liste, ma mi da comunque Assertion Error:

error -> AssertionError
    when input=('file02_10_2.txt', {'11', '9', '4', '10', '1', '2', '6'}, 'test1.json')
        'test1.json' != 'risTest1.json'     <-  risultato corretto

test1.json

{"9": ["4", "7"], "4": [], "10": ["4"], "1": [], "2": ["4"], "6": ["4", "7"]}

risTest1.json:

{"9": ["4", "7"], "2": ["4"], "10": ["4"], "4": [], "6": ["4", "7"], "1": ["5"]}

adesso è identico ma mi da comunque assertion error, perchè?
D
Dammy The Mountain (740 points)
12 30 37
by (740 points)
ok come non detto 1[5] != 1[] ora provo a corregger, vi tengo aggiornati
LeonardoEmili (35740 points)
14 65 155
by (35.7k points)

Ciao!

Questo è un problema legato alla formato del JSON. Infatti quando tu formatti un file o stringa in JSON utilizzi il classico .dump( ) oppure .dumps( ). Come descritto dall'errore, e dal professore a lezione, JSON utilizza un formato a doppio apice per la codifica delle stringhe e tutto il risultato in JSON sarà invece codificato all'interno di un singolo apice.

Esempio: {'chiave': 'valore'}  -> in JSON diventa-> '{"chiave": "valore"}'

Buona serata!

Leonardo Emili

francesco.dev (33560 points)
22 51 129
by (33.6k points)
Quoto anche la tua risposta!
andrea.sterbini (207940 points)
756 1270 2377
by (208k points)

Ma il file JSON che devi produrre, come lo crei?

Stai usando la libreria json?