Errore HW2-req

s
sara.lazzaroni (9740 points)
5 8 12
asked Oct 29, 2021 in HW2 by sara.lazzaroni (9,740 points)
recategorized Oct 30, 2021 by andrea.sterbini
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 (167420 points)
487 897 1726
answered Oct 30, 2021 by andrea.sterbini (167,420 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 (2750 points)
7 14 26
commented Nov 2, 2021 by giac (2,750 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
answered Oct 30, 2021 by Lelus (340 points)
Anche io riscontro lo stesso errore
andrea.sterbini (167420 points)
487 897 1726
commented Oct 30, 2021 by andrea.sterbini (167,420 points)

Segui lo stesso suggerimento smiley

L
Lelus (340 points)
0 0 2
commented Oct 30, 2021 by Lelus (340 points)
Il problema è che la lista matches non la tocco proprio...
L
Lorenzo Lombardi (570 points)
2 2 5
commented Oct 31, 2021 by Lorenzo Lombardi (570 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 (167420 points)
487 897 1726
commented Oct 31, 2021 by andrea.sterbini (167,420 points)
Non copi la lista matches ma la assegni ad una nuova variabile

Copiare è un'altra cosa
L
Lorenzo Lombardi (570 points)
2 2 5
commented Nov 2, 2021 by Lorenzo Lombardi (570 points)
chiaro prof, forse ho capito, provo a risolvere
A
AlessandroBavaro (10620 points)
4 8 24
commented Nov 2, 2021 by AlessandroBavaro (10,620 points)
edited Nov 2, 2021 by AlessandroBavaro
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 (167420 points)
487 897 1726
commented Nov 2, 2021 by andrea.sterbini (167,420 points)
edited Nov 2, 2021 by andrea.sterbini

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 (10620 points)
4 8 24
commented Nov 2, 2021 by AlessandroBavaro (10,620 points)
La ringrazio, allora cercherò di ottimizzare il codice