Итерация использует циклы; рекурсия использует self-calls. Они одинаково мощны (всё, что можно сделать с одной, можно сделать с другой), но отличаются ясностью и стоимостью.
Side by side
python
():
total =
i (, n + ):
total += i
total
():
n == :
n + sum_rec(n - )
