Buonasera a tutti.Avrei un problema con il return di una funzione ricorsiva.A tale funzione viene inizialmente passata una stringa vuota che viene manipolata attraverso un while. dopo il while eseguo un controllo con su tale stringa. se la stringa non rispetta tale controllo parte la ricorsiva , in cui la stringa fornita e' nuovamente vuota. In caso contrario ho un return stringa. La funzione e' cosi strutturata
while......:
if...... :
ricorsiva()
else:
return stringa
Il mio problema e' che non viene ritornata la stringa ma NONE.Ho provato a risolvere con il debugger e la funzione lavora bene fino al return. Arrivato li , non capisco perche il debugger fa un "salto" sulla linea della chiamata della ricorsiva .Come controprova se inserisco print stringa prima del return , la stringa stampata e' quella desiderata.Qualcuno ha idea di che errore possa trattarsi?
while......:
if...... :
ricorsiva()
else:
return stringa
Il mio problema e' che non viene ritornata la stringa ma NONE.Ho provato a risolvere con il debugger e la funzione lavora bene fino al return. Arrivato li , non capisco perche il debugger fa un "salto" sulla linea della chiamata della ricorsiva .Come controprova se inserisco print stringa prima del return , la stringa stampata e' quella desiderata.Qualcuno ha idea di che errore possa trattarsi?