这是我第一次参加,所以我很感激您对看似蹩脚的问题的耐心:)
我正在尝试编写一个名为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
非常感谢提前
答案 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()