Помогите найти ошибку в коде пайтон python - Общение Python мододелов

Вопрос Помогите найти ошибку в коде пайтон python

Регистрация
14 Сен 2013
Сообщения
79
Репутация
0
Спасибо
0
Монет
0
Добрый день. Помогите найти ошибку в коде пайтон python. Заранее спасибо.

Есть задача:



"Напишите свою функцию sum, которая должна быть более гибкой, чем стандартная функция sum. Вот что она должна уметь делать: Складывать числа из списка списков.

Примеры вызовов функции:

sum([[1, 2, [3]], [1], 3])

Ответ: 10

"



Мой скрипт ниже. Он не отрабатывает корректно в части переменой count_n .



number_1 = ([[1, 2, [3]], [1], 3])



def find_summ(number, count_n = 0):

for i_index, i_code in enumerate(number):

if isinstance(i_code, int):

count_n += i_code

print('count_n2:', count_n)

else:

find_summ(i_code,count_n)

return count_n



print('\nОтвет:', find_summ(number_1))
 
Регистрация
6 Мар 2013
Сообщения
87
Репутация
0
Спасибо
0
Монет
0
а зачем изначально ошибку допустил??? теперь сам и ищи её...
 
Регистрация
17 Дек 2013
Сообщения
89
Репутация
0
Спасибо
0
Монет
0
А зачем ты вообще передаёшь параметр count_n? Он в коде совершенно лишний. И зачем тебе i_indeх, если ты его нигде не используешь? И почему только int, когда числа могут быть не только целыми, но и вещественными, и комплексными. def sum(arr):
acc = 0
for v in arr:
acc += v if type(v) in [type(0), type(.0), type(0j)] else sum(v)
return acc

print(sum([[1, 2, [3]], [1], 3]))
 
Сверху Снизу