[HW8] Problema struttura/output ricorsione

P
PaoloT (2030 points)
3 11 17
asked Dec 17, 2020 in HW8 obbligatorio by PaoloT (2,030 points)
Ho un problema con la parte ricorsiva del mio algoritmo che dovrebbe trovarmi le tuple di segreti e città finali. In pratica, la funzione torna correttamente le tuple, ma ogni tupla è contenuta in una lista, più precisamente una lista per ogni indizio percorso. Ad esempio: [[[[[(' vendita diamanti rubati stanotte ad anversa', 'CANCUN')]]]].
Seguendo alcuni consigli credo di aver capito che il problema è che cerco di appendere a una lista che creo all'inizio il risultato della chiamata ricorsiva della funzione, cioè la tupla con segreti+città. Non sono sicuro se questa sia la soluzione giusta, ma credo di aver capito che invece di appendere alla lista vuota le tuple dentro alla chiamata ricorsiva, dovrei farlo nel caso base. Il problema è che, forse sbagliando la struttura, mi ritrovo con la lista corretta formata ma quando la ritorno o è vuota o viene sovrascritta dalle successive chiamate ricorsive.
Qualsiasi consiglio è bene accetto, se mi sono spiegato male su alcuni punti ditemelo e cercherò di essere più chiaro
112 views

1 Answer

Best answer
twgever (15190 points)
7 27 105
answered Dec 17, 2020 by twgever (15,190 points)
selected Dec 17, 2020 by PaoloT
perchè non appendi i risultati direttamente all'insieme, piuttosto che ad una qualsiasi altra struttura? Ti risparmi un sacco di tempo.
P
PaoloT (2030 points)
3 11 17
commented Dec 17, 2020 by PaoloT (2,030 points)
Ciao, era la mia idea iniziale ma funzionando ho cambiato via, però effettivamente forse mi conviene ritornarci. Quando dovrei aggiungere ogni segreto al set però? La mia idea era di farlo quando si raggiunge il caso base a ogni chiamata ricorsiva (nel mio caso se la lista di indizi è vuota).
Il problema è che dal debugger di spyder noto che mano a mano si formano correttamente i segreti, ma quando arrivo al caso base, li aggiungo all'insieme e lo ritorno, il programma continua con la funzione ma l'insieme torna ad essere vuoto e continua a formare i segreti fino alla fine. Hai qualche suggerimento?
Se c'è bisogno posso descriverti più precisamente o chiaramente il procedimento che faccio.
P
PaoloT (2030 points)
3 11 17
commented Dec 17, 2020 by PaoloT (2,030 points)
Ho risolto, grazie comunque per il consiglio dell'usare direttamente un set che effettivamente è un'idea migliore