Форум сайта python.su
Вот числовая последовательность:1^3+…+n^3
Офлайн
def f(n, i=1, res=0): res += i ** 3 if i == n: return res return f(n, i+1, res) print(f(3))
Офлайн
>>> def f(n): ... assert n > 0 ... if n > 1: ... return n ** 3 + f(n - 1) ... return 1 ... >>> f(3) 36 >>> f(2) 9 >>> f(1) 1 >>> f(0) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 2, in f AssertionError >>>
Офлайн
Она уже создана
reduce называется
http://docs.python.org/2/library/functions.html#reduce
В вашем случае:
reduce(lambda x, res: x+res, [i**3 for i in range(1, 10)])
Отредактировано sank (Янв. 18, 2013 15:16:14)
Офлайн
думаю, тс'у была поставлена задача написать ее самому, в качестве обучающей задачи.
Офлайн
тогда предлагаю самому
ну типа полезно для понимания и всё такое …
Офлайн
Модератор: Тема перенесена в Центр помощи
Отредактировано cutwater (Янв. 18, 2013 18:54:25)
Офлайн