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

Do you need help?

Errore HW2-req

s
sara.lazzaroni (9790 points)
5 8 12
in HW2 by (9.8k points)
recategorized by
Buona serata, ho un problema con l'hw obbligatorio: facendo girare il programma sia su spyder che da prompt mi passa tutti e 16 i test. Andando a caricare il file sorgente su q2a mi fallisce dei test in quanto mi dice che 'matches' non deve essere modificata, quando fino ai caricamenti dello stesso file precedenti, questo problema non era mai stato riscontrato tant'è che mi diceva che passavo tutti e 16 i test.

2 Answers

andrea.sterbini (207920 points)
749 1267 2373
by (208k points)
Ho dovuto aggiungere un controllo.

Se si modificano gli argomenti il calcolo del tempo di esecuzione fallisce.

Correggi il codice e ri-consegna
g
giac (2790 points)
10 14 27
by (2.8k points)
salve prof, il controllo è stato applicato anche a chi ha consegnato prima dell'aggiunta del controllo, o dobbiamo tutti riconsegnare per controllare se tutto è ok?
L
Lelus (340 points)
0 0 2
by (340 points)
Anche io riscontro lo stesso errore
andrea.sterbini (207920 points)
749 1267 2373
by (208k points)

Segui lo stesso suggerimento smiley

L
Lelus (340 points)
0 0 2
by (340 points)
Il problema è che la lista matches non la tocco proprio...
L
Lorenzo Lombardi (600 points)
2 3 6
by (600 points)
anche io non ho ancora risolto, passo tutti e 16 i test anche se in 21 secondi totali dal mio PC, e invece la VM mi sembra di capire che dica sia che la lista restituita sia sbagliata sia che c'è un errore per il fatto che modifico matches, anche se effettuo una copia senza modificarla mai, non capisco come uscirne..
andrea.sterbini (207920 points)
749 1267 2373
by (208k points)
Non copi la lista matches ma la assegni ad una nuova variabile

Copiare è un'altra cosa
L
Lorenzo Lombardi (600 points)
2 3 6
by (600 points)
chiaro prof, forse ho capito, provo a risolvere
A
AlessandroBavaro (10660 points)
5 8 24
by (10.7k points)
edited by
Buon giorno a tutti.

io credo di avere lo stesso problema, sul prompt passo 16 test, una volta consegnato 13, ma non riesco a capire se sia perchè la vm e piu lenta  e devo ottimizare il codice o altro.

matches non viene modificato ho provato anche a far lavorare la funzione con una copia col metodo .copy() ma ottengo lo stesso risultato.

ho provato a verificare con un print di id matches e della sua copia e risultano in due posizioni diverse di memoria

riporto l'errore:

testlib.py=44= ForbiddenError

P.S. ho modificato il timeout. come indicato dal professore sul regolamento dell'HW e ottengo sempre 16/16 sul test dal prompt
andrea.sterbini (207920 points)
749 1267 2373
by (208k points)
edited by

Probabilmente è un timeout.

E           testlib.ForbiddenError= The import of 'py._io.terminalwriter' is forbidden

Questo errore avviene quando pytest cerca di stampare il messaggio di errore a colori (per cui purtroppo nasconde il vero errore)

Ma forse ho trovato come disattivare la stampa a colori degli errori .... stay tuned

A
AlessandroBavaro (10660 points)
5 8 24
by (10.7k points)
La ringrazio, allora cercherò di ottimizzare il codice