Функция Python зацикливается только один раз - PullRequest
0 голосов
/ 19 марта 2012

Эта функция зацикливается только один раз, почему?

def loop(f, n):         #f repeats n times
    if n<=0:
        return
    else:
        loop(f, n-1)

Я использую функцию печати для f и 5 для повторения 5 раз

Ответы [ 2 ]

4 голосов
/ 19 марта 2012

Я думаю, что вы хотите вызвать f () до (или после) рекурсивного вызова

def loop(f, n):         #f repeats n times
    if n<=0:
        return
    else:
        f()             # don't forget to call f()
        loop(f, n-1)
0 голосов
/ 19 марта 2012

Если я правильно понимаю, и вы просто пытаетесь повторить что-то n раз, вам не нужно использовать рекурсивную функцию.

Например:

n = 5
for i in xrange(5):
    # do whatever should happen  here
    # i is the current iterator
    print i
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...