OK, sto usando Python 2.7.3 e qui è il mio codice:Variabili globali in ricorsione. Python
def lenRecur(s):
count = 0
def isChar(c):
c = c.lower()
ans=''
for s in c:
if s in 'abcdefghijklmnopqrstuvwxyz':
ans += s
return ans
def leng(s):
global count
if len(s)==0:
return count
else:
count += 1
return leng(s[1:])
return leng(isChar(s))
sto cercando di modificare la variabile count
all'interno della funzione leng
. Qui ci sono le cose che ho provato:
- Se metto il conteggio variabile di fuori della funzione
lenRecur
funziona benissimo la prima volta, ma se provo ancora una volta senza riavviare shell Python, il conteggio (ovviamente) doesn' t ricomincia, quindi continua ad aggiungere. - Se cambio la linea
count += 1
percount = 1
, funziona anche, ma l'output è (ovviamente) uno.
Quindi, il mio obiettivo è quello di ottenere la lunghezza della stringa utilizzando la ricorsione, ma non so come tenere traccia del numero di lettere. Ho cercato informazioni sulle variabili globali, ma sono ancora bloccato. Non so se non l'ho ancora capito, o se ho un problema nel mio codice.
Grazie in anticipo!
non può vedere la ricorsione stessa. – oleg
Siamo spiacenti, ora è ok! –