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.

HW2 Es.2 risultato file son uguale ma non passa i test (perchè non deve tornare nulla)

Jury Francia (7520 points)
23 76 100
in Es2 by (7.5k points)
closed by
Ragazzi ho terminato il secondo esercizio ma riscontro un problema con i test. Il file test1 è identico a quello del file risTest1, l'unica cosa non ordinata sono le chiavi dato che il dizionario è una struttura disordinata.

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

risTest1:   {"9": ["4", "7"], "2": ["4"], "10": ["4"], "4": [], "6": ["4", "7"], "1": ["5"]}
1.6k views
closed with the note: answered

5 Answers

Best answer
split (8700 points)
21 59 79
by (8.7k points)
selected by
risolto! almeno per il mio caso, avevo messo

return <file.json>

ma non deve tornare niente la funzione. se togli quello probabilmente va
Jury Francia (7520 points)
23 76 100
by (7.5k points)
edited by
Grandissimo! stesso problema, risolto! almeno il primo test lo passa :D
Per gli altri alcuni valori non li prende ma sarà un problema dell'algoritmo che ora cerco di risolvere. Grazie a tutti per l'aiuto!
francesco.dev (33560 points)
21 51 129
by (33.6k points)
Ottimo! Per fortuna si tratti di una stupidaggine, almeno non dobbiamo sbatterci troppo la testa hahahahahaa :D
LeonardoEmili (35740 points)
13 65 155
by (35.7k points)
Quoto assolutamente, grande risposta
split (8700 points)
21 59 79
by (8.7k points)
tutto merito di iolanda,le devo un caffè
francesco.dev (33560 points)
21 51 129
by (33.6k points)
edited by
Ciao!

L'insieme è una struttura disordinata in cui non conta l'ordine degli elementi, invece il dizionario è una struttura che contiene chiavi di qualsiasi tipo (intere, stringe e così via) ma non per questo motivo può essere definita disordinata.

Avendo il dizionario:
diz = {1: 'ciao', 'id': 355}
E il dizionario2:
diz2 = {'id': 355, 1: 'ciao'}

Il controllo diz==diz2 restituisce ovviamente vero.

Anche con i tuoi dizionari:
test1 = {"2": ["4"], "10": ["4"], "9": ["4", "7"], "1": ["5"], "4": [], "6": ["4", "7"]}

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

Il controllo test1==ris restituisce True!

EDIT:
Ho appena provato il mio codice.
Anche a me l'ordine degli elementi nel file è diverso dal file del prof, ma il test del grade dà comunque True perché l'ordine è irrilevante.
Non capisco perché a te il grade dia sbagliato, forse sbagli qualcos'altro!

Sperando di averti aiutato,
- Francesco Pio Scognamiglio
francesco.dev (33560 points)
21 51 129
by (33.6k points)
Prova a fare una cosa: scarica nuovamente il grade e sposta i program0x.py che hai ora (ovvero i programmi che hai scritto) nella nuova cartella dell'homework.
Jury Francia (7520 points)
23 76 100
by (7.5k points)
fatto, purtroppo da lo stesso problema
francesco.dev (33560 points)
21 51 129
by (33.6k points)
Stranissimo! Davvero strano!
Ti stampa sempre 'valore restituito'!=' None'??

Se così fosse non riesco proprio ad immaginare il problema.. Perché dopo tutti i consigli che ti ho dato ho finito, per ora, le idee

Vediamo se il professore ci aiuta
Jury Francia (7520 points)
23 76 100
by (7.5k points)
grazie comunque ;)
francesco.dev (33560 points)
21 51 129
by (33.6k points)
Sempre un piacere :)
split (8700 points)
21 59 79
by (8.7k points)
edited by
anche io ho questo problema... ma mi viene da chiedermi, anche se in un insieme, una lista che sia [5,4] è uguale a una [4,5]? perché io le ho tutte in ordine inverso da quelle del prof
francesco.dev (33560 points)
21 51 129
by (33.6k points)
Nelle liste l'ordine conta eccome!
Non conta solo per i dizionari e gli insiemi.
francesco.dev (33560 points)
21 51 129
by (33.6k points)
Quindi concludo col dire che la lista [5, 4] è diversa dalla lista [4, 5].
Ricorda che gli elementi della lista vanno inseriti dal primo compito preliminare in assoluto da fare fino al compito effettivamente richiesto.
Esempio:
comp 7
sub 3
comp 3
sub 2
comp 2

Per fare il compito 7 devo fare in sequenza i compiti 2, 3 e solo alla fine il 7.
split (8700 points)
21 59 79
by (8.7k points)
ok...ho sistemato questa cosa, ora gli elementi sono identici, ma il grade comunque dice di no
francesco.dev (33560 points)
21 51 129
by (33.6k points)
Che messaggio di errore ti dà?
Se ti dà lo stesso di Jury, ovvero 'valore restituito'!='None'
Sinceramente non saprei come interpretarlo, visto che per tutti gli altri stampa almeno il nome del file che hai scritto e il nome del file che contiene ciò che si aspettava.. Aspettiamo il professore
edoardo (7090 points)
19 52 67
by (7.1k points)

Esegui nel prompt dei comandi questo comando: python -B -u ./grade02.py

Assicurati di essere nella cartella dov'è il grader prima di eseguirlo. Non dovresti avere problemi di return none

P.s: per spostarti nella cartella usa cd %pathcartella% nel prompt e poi usa il comando sopra

Jury Francia (7520 points)
23 76 100
by (7.5k points)
Sisi sono nella cartella giusta
edoardo (7090 points)
19 52 67
by (7.1k points)
eseguendo quel comando da cmd hai sempre gli stessi errori?
Luca T. (5410 points)
3 20 38
by (5.4k points)
Che errore ti da il grade? Di solito, oltre a dire che i valori non coincidono, restituisce i due dizionari separati da !=. Anche in quel caso i dizionari sono gli stessi?
Jury Francia (7520 points)
23 76 100
by (7.5k points)
test_program_1                 
 il file contiene informazioni su soli 10 compiti

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



test_program_2                 
 il file contiene informazioni su 10000 compiti e l'insieme ne contiene    10


    error -> AssertionError
    when input=('file02_10000_50.txt', {'10', '40', '50', '30', '80', '70', '20', '60'}, 'test2.json')
        'test2.json' != 'risTest2.json'     <-  risultato corretto



test_program_3                 
 il file contiene informazioni su 50000 compiti e l'insieme ne contiene    10


    error -> AssertionError
    when input=('file02_50000_100.txt', {'6', '4', '1', '3', '9', '8', '7', '2', '5'}, 'test3.json')
        'test3.json' != 'risTest3.json'     <-  risultato corretto



test_program_4                 
 il file contiene informazioni su 50000 compiti e l'insieme ne contiene  1000


    error -> AssertionError
    when input=('file02_50000_100.txt', 'set([str(i) for i in range(1000,2001)])', 'test4.json')
        'test4.json' != 'risTest4.json'     <-  risultato corretto



test_program_5                 
 il file contiene informazioni su 50000 compiti e l'insieme ne contiene 50000


    error -> AssertionError
    when input=('file02_50000_100.txt', 'set([str(i) for i in range(2000,52001)])', 'test5.json')
        'test5.json' != 'risTest5.json'     <-  risultato corretto