[H4.3] errore nel return di un conteggio qualsiasi nell' albero

Toccacieli (700 points)
3 15 22
asked Dec 3, 2017 in Es3 by Toccacieli (700 points)

So che la domanda potrebbe sembrare banale ma mi sta perseguitando , in un semplice controllo dove camminando per il file html verifico se trovo un tag == al mio selettore , ecco quando lo trovo decido di fare 
contatore += 1 , bhe a quel punto se printo il contatore  : print(contatore ) mi esce 1 perchè in effetti ci sta ma se returno c mi esce 0 , lo fa sempre , come è possibile?? anche se decido di printare il tag lo printa ma non lo salva mai anche se " return c "ce l'ho metto proprio sotto allo stesso livello , non riesco a venirne a capo !

un esempio piu generale :
[IN] if tagtrovato == tagcercato :
           c = c + 1
       print(c)
       return c
[Out] 1   # ovvero il print(c)     
[Out] 0   # il return c

151 views

1 Answer

andrea.sterbini (172780 points)
513 935 1789
answered Dec 3, 2017 by andrea.sterbini (172,780 points)
Dove hai definito/inizializzato la variabile c?
attento all'indentazione
Toccacieli (700 points)
3 15 22
commented Dec 3, 2017 by Toccacieli (700 points)
"c" sta dentro la funzione che è ricorsiva , è settata a 0 inizialmente , se non trovo il selettore faccio appunto la ricorsione appena la trovo incremento e returno

aggiungo che anche se la metto nell'input della funzione fa la stessa cosa , se printo mi esce esattamente i risultati del grader ma con il return proprio nulla
Toccacieli (700 points)
3 15 22
commented Dec 3, 2017 by Toccacieli (700 points)
si ho verificato piu volte anche spostando il return opportunamente alla fine ma nulla l'indentazione è corretta