Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2021-22 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 2021-22 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.

VIDEOLEZIONI DEL CORSO DI FONDAMENTI DI PROGRAMMAZIONE AA20-21

PROGRAMMING COURSE VIDEOCONFERENCES AY20-21

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 (173640 points)
516 941 1795
by (174k 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)
7 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 (173640 points)
516 941 1795
by (174k 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 (570 points)
2 2 5
by (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 (173640 points)
516 941 1795
by (174k 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
by (570 points)
chiaro prof, forse ho capito, provo a risolvere
A
AlessandroBavaro (10660 points)
4 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 (173640 points)
516 941 1795
by (174k 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)
4 8 24
by (10.7k points)
La ringrazio, allora cercherò di ottimizzare il codice