Iteração usa loops; recursão usa self-calls. Elas são igualmente poderosas (qualquer coisa que você pode fazer com uma você pode fazer com a outra), mas diferem em clareza e custo.
Side by side
python
():
total =
i (, n + ):
total += i
total
():
n == :
n + sum_rec(n - )
