这是我第一次来这里,所以我希望你能耐心等待这个看起来很蹩脚的问题:)
我正在尝试编写一个名为 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
提前致谢
请您参考如下方法:
您既没有调用函数,也没有真正进行递归调用。更正版本:
def name():
print 'Jack'
def do_n(fo, x):
if x <= 0:
return
fo()
do_n(fo, x - 1)
要调用一个函数 n 次,您通常会使用 for 循环而不是 Python 中的尾递归:
for dummy in range(10):
name()
