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

Do you need help?

Notice Board

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

Modificare la variabile globale lista nella funzione dell' esercizio 3

G
GianfrancoLeone (410 points)
3 11 17
in Es1 by (410 points)
closed by
Non so come modificare una variabile globale in una funzione.

La funzione deve accettare come parametro la variabile globale, e quindi all'interno della funzione non posso definirla come global.

Qualche suggerimento?
714 views
closed with the note: Ma quale globale? È un argomento della funzione

4 Answers

_andrea_ (45670 points)
11 42 297
by (45.7k points)
Non usare variabili globali
Xriuk (13590 points)
6 24 116
by (13.6k points)
edited by

Non usare variabili globali, lo hanno detto pure i prof, l'esercizio richiede che la lista passata come parametro (nulla di globale) venga modificata, quello puoi farlo utilizzando tutti i metodi (.remove(), ...) oppure lo slicing

VincenzoImperati (6290 points)
6 15 58
by (6.3k points)
Non so se ho capito bene il tuo problema però posso suggerirti di usare il metodo remove. io l'ho usato operando fuori dalla funzione principale e senza bisogno di ritornare la lista modificata le modifiche avvengono globalmente. Se riesci a spiegarti meglio posso aiutarti ancora
VincenzoImperati (6290 points)
6 15 58
by (6.3k points)
Concordo con i colleghi fai passare la lista come parametro
G
GianfrancoLeone (410 points)
3 11 17
by (410 points)
quindi la modifica di liosta va fatta fuori di "def es3"?  Io avevo capito che all' interno della funzione doveva esserci tutta la codifica.
VincenzoImperati (6290 points)
6 15 58
by (6.3k points)
tu puoi lavorare in un'unica funzione oppure divide il codice in più funzioni. io sottolineavo il fatto che comunque modifichi la lista, che sia dentro la funzione principale o un'altra funzione, la modifica avviene e non ti da nessun tipo di errore. Il consiglio è comunque quello di  non usare variabili globali
G
GianfrancoLeone (410 points)
3 11 17
by (410 points)
La lista viene modificata, ma come funzione locale, mentre l'esercizio vuole la modifica della lista passata come parametro, cioè quella globale
a.capobianco1 (16770 points)
11 54 165
by (16.8k points)

fermo restando che sarebbe meglio non usarle, se proprio non puoi farne a meno, devi anteporre la parola 'global' prima del nome della variabile nel momento in cui la valorizzi.all'interno della funzione

es.

global variabileglobale = valore