Do you need any help?

HW8req: "AssertionError: Items in the first set but not the second"

K
KillianVoid (570 points)
1 5 8
asked Dec 14, 2020 in HW8 obbligatorio by KillianVoid (570 points)
Ho un problema con l'output: il programma crea con successo le tuple da inserire nel set( ) da fornire in output, ma poi il set( ) le ordina in maniera diversa da quella che dovrebbe essere.

Ho provato a controllare eventuali errori nelle tuple ed a utilizzare frozenset( ), ma nulla.
205 views

4 Answers

Best answer
Romitoskj (8920 points)
4 8 40
answered Dec 14, 2020 by Romitoskj (8,920 points)
selected Dec 15, 2020 by KillianVoid

Nei set l'ordine non conta, i dati sono indicizzati attraverso funzioni hash. In ogni caso l'errore indica che mancano degli elementi al tuo set se non erro.

EDIT:

Come confermato da @twgever erravo ahahaha. È l'inverso, il tuo ser ha elementi in più.

alessio. (2780 points)
1 5 14
answered Dec 14, 2020 by alessio. (2,780 points)
Può essere che nei segreti che ritorni c'è qualche spazio di troppo?Tipo a fine segreto?
twgever (15190 points)
7 27 105
answered Dec 14, 2020 by twgever (15,190 points)

come ha detto @Romitoskj, l'ordine non è importante. Però "items in the first set but not the second" indica che il tuo set ha un elemento in più rispetto a quello che si aspetta il test. il "first set" sarebbe il tuo. "second set" quello che si aspetta.

twgever (15190 points)
7 27 105
commented Dec 15, 2020 by twgever (15,190 points)
Una maniera che hai di verificare quali elementi ti mancano è la seguente:

-scegli un test da analizzare

-esegui il testo normalmente, copiando i dati dal json, e ti salvi i risultati in una variabile, chiamiamola A. Ora A è il set che il tuo programma restituisce

-dal json copiati i risultati che si aspetta il test (attento che è una lista di liste, quindi devi farne un set) e salvalo dentro B. B è il risultato che vuoi avere

-fai C=A-B, che dovrebbe togliere gli elementi di B, quelli che vuoi che ti escano come risultato, dagli elementi di A, quelli che tu dai come risultato. C sarà l'insieme degli elementi che metti in più
K
Kiltei (Michele) (590 points)
2 7 10
answered Dec 14, 2020 by Kiltei (Michele) (590 points)
Ho letto che dicono che dovresti avere elementi in più, ma in realtà controllando a me risulta che ne manchi uno. Controlla con il file json, ma penso di avere ragione.
twgever (15190 points)
7 27 105
commented Dec 14, 2020 by twgever (15,190 points)
Ho fatto una verifica aggiungendo degli elementi che non ci sono nel mio programma, e mi ha dato lo stesso errore, quindi ha degli elementi in più 100%
K
Kiltei (Michele) (590 points)
2 7 10
commented Dec 14, 2020 by Kiltei (Michele) (590 points)
Potrebbe essere che da lo stesso errore in entrambi i casi
twgever (15190 points)
7 27 105
commented Dec 14, 2020 by twgever (15,190 points)
no, nell'altro caso dice in the second set but not the first
Sempre verificato da spyder
K
Kiltei (Michele) (590 points)
2 7 10
commented Dec 15, 2020 by Kiltei (Michele) (590 points)
Ok grazie per la delucidazione allore