Я пытаюсь сделать функцию в python 3, которая подсчитывает число 1 в списке 0 и 1, но оно должно быть рекурсивным без использования функции sum. Может ли кто-нибудь объяснить, почему эта функция не работает?Сумма списков в рекурсивных функциях
def count_ones(s):
if len(s) == 0:
return 0
elif s[0] == 1:
return 1 + count_ones(s[1:])
elif s[0] == 0:
return 0 + count_ones(s[1:])
Подключенный count_ones([1, 0, 0, 1, 1])
, я получаю
TypeError: unsupported operand type(s) for +: 'int' and 'list'
отлично работает для меня. Вы уверены, что скопировали его правильно? – jonrsharpe
Это работает для меня тоже с python 3.4 – Alexis