Mi accorgo che la domanda può sembrare banale, ma avrei bisogno di fare chiarezza sull'utilizzo delle funzioni nidificate.
Non mi è ben chiaro come far lavorare tra loro le funzioni che definisco singolarmente.
Credo di fare errori nell'utilizzo di 'return'.
Nel seguente esempio vorrei passare i parametri L1 ed L2 alla funzione es(), per far si che venga creata una struttura dati a partire dall'input L2, sulla quale vengono fatte delle operazioni utilizzando le informazioni presenti in L1 ed L2.
Infine la funzione calcola_risultato (a partire dalla struttura dati sulla quale sono state fatte le operazioni) seleziona i valori da aggiungere alla lista vuota (risultato = [] ).
Vorrei ottenere come output la lista 'risultato'.
Da quello che ho capito:
def es(L1, L2):
def crea_struttura_dati(L2): # viene creata la struttura dati da passare alle seguenti funzioni
return struttura_dati # lo inserisco qui ?
def operazioni_1(L1, struttura dati): # le due funzioni hanno lo stesso livello di indentazione
#istruzioni
return struttura_dati_modificata # lo inserisco qui ?
def operazioni_2(L2, struttura dati):
#istruzioni
return struttura_dati_modificata # lo inserisco qui ?
def calcola_risultato(struttura_dati_modificata):
risultato = []
#istruzioni
return risultato # lo inserisco qui ?
return struttura_dati_modificata # lo inserisco qui ?
Dove sbaglio? Devo inserire un return in ogni singola funzione? Devo metterli tutti alla fine indentati con le rispettive funzioni?
Grazie in anticipo!