使用两个参数调用n次函数

时间:2012-04-10 09:45:05

标签: python

这是我第一次参加,所以我很感激您对看似蹩脚的问题的耐心:)

我正在尝试编写一个名为do_n的函数,它将一个函数对象和一个数字n作为参数,然后调用给定函数n次。这是代码:

def name():
    print 'Jack'

def do_n(fo, x):
    if x <= 0:
        return
    print fo
    (fo, x-1)

在main中进行函数调用时:

do_n(name, 3)

我得到以下结果:

<function name at 0x01F93AF0>

我正在尝试将程序打印出来:

Jack
Jack
Jack

非常感谢提前

2 个答案:

答案 0 :(得分:5)

你既没有调用函数,也没有实际进行递归调用。更正版本:

def name():
    print 'Jack'

def do_n(fo, x):
    if x <= 0:
        return
    fo()
    do_n(fo, x - 1)

要调用函数n次,通常在Python中使用for循环而不是尾递归:

for dummy in range(10):
    name()

答案 1 :(得分:2)

函数是Python中的第一类对象。

fo()