Do you need any 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 correzione hw2

P
Pietroos (6020 points)
4 8 11
asked Nov 3, 2021 in HW2 by Pietroos (6,020 points)
recategorized Nov 3, 2021 by Pietroos
Quando vado a caricare il codice, mi da errore su molti dei test (Gli stessi errori del codice precedente), anche se in locale funzionano tranquillamente, per caso c'è qualche problema con la VM?

Il file di errore non mi da molto aiuto, dato che su vari test che non passa mi fa vedere solo gli errori di alcuni. Inoltre uno degli errori che mi da è "Non dovete modificare la lista matches" ma la lista matches non la tocco, la uso solo un attimo assegnandola ad un altra variabile però facendo prima un'operazione su di essa.

2 Answers

Best answer
Exyss (21390 points)
1 2 79
answered Nov 3, 2021 by Exyss (21,390 points)
selected Nov 3, 2021 by Pietroos

In Python, così come in molti linguaggi, quando viene eseguito un assegnamento lista2 = lista1 ciò che viene realmente inserito all'interno della variabile lista2 è l'indirizzo di memoria in cui è locata la variabile lista1. Questa tipologia di assegnamento è chiamata "assignment by reference" (puoi guardare questo link se vuoi saperne di più).

Poiché ciò che viene "copiato" è l'indirizzo di memoria, lavorare sulla lista2 corrisponde a lavorare sulla lista1, poiché condividono lo stesso indirizzo e dunque sono letteralmente la stessa struttura di dati.

Per risolvere il problema ti basta eseguire lista2 = lista1.copy(), che andrà a creare una nuova lista con un nuovo indirizzo di memoria, copiando i valori di lista1

anaran (7090 points)
2 5 37
answered Nov 3, 2021 by anaran (7,090 points)
La lista matches dovresti proprio copiarla, e non assegnarla ad una variabile perché così facendo modificheresti entrambe,quando modifichi una delle due.