Wydaje mi się, chociaż w pyhtonie
liczby = [1, 5, 6, 3, 8, 7, 9, 6, 4, 5, 2, 3, 0]
def ileParzystych(i, licznik=0):
if i >= len(liczby):
return licznik
if liczby[i] % 2 == 0:
licznik += 1
return ileParzystych(i + 1, licznik)
print(ileParzystych(0))
nie pisze, że brakuje return w wywołaniu rekurencyjnym. Oraz wcięcie było nieco za daleko, ale wtedy byłby inny błąd.
Testowane tu https://www.online-python.com/
Wersja z zachowaniem globalnej zmiennej
liczby = [1, 5, 6, 3, 8, 7, 9, 6, 4, 5, 2, 3, 0]
licznik = 0
def ileParzystych(i):
global licznik
if i >= len(liczby):
return licznik
if liczby[i] % 2 == 0:
licznik += 1
return ileParzystych(i + 1)
print(ileParzystych(0))
- global licznik wewnątrz funkcji, aby wskazać, że funkcja będzie korzystać z globalnej zmiennej licznik.