Понимание рекурсии в Python

Я действительно пытаюсь понять, как работает рекурсия, и понять рекурсивные алгоритмы. Например, приведенный ниже код возвращает 120, когда я ввожу 5, извините за мое невежество, и я просто не понимаю, почему?

def fact(n):
    if n == 0:
        return 1
    else:
        return n * fact(n-1)

answer = int (raw_input('Enter some number: '))

print fact(answer)
6
задан AlG 27 July 2012 в 18:49
поделиться