这可以称为递归函数吗?它确实以一种方式减少,但不是以(金额 - 1)的方式减少...
编辑: 如何在不使用return的情况下编写递归函数?
def wow(amount):
if amount <= 0:
print "Don't be so negative!"
elif amount == 1:
return "Wow!"
else:
return amount * "Wow! \n"
amount = int(raw_input("How many 'Wow!' do you wanna see : "))
print wow(amount)
答案 0 :(得分:0)
不,这不是递归函数。递归函数必须调用自身。 This page解释并显示了递归函数的示例。
这将是一个递归函数。
def wow(amount):
if amount <= 0:
return
else:
print("Wow! \n")
return wow(amount - 1)
一个将代码转换为递归函数的完整解决方案将是。
def wow(amount):
if amount <= 0:
return "Don't be so negative!"
elif amount == 1:
return "Wow!"
else:
return inner_wow("", amount)
def inner_wow(wow_str, amount):
if amount == 0:
return
else:
wow_str += "Wow! \n"
return wow(wow_str, amount - 1)
回答你的第二个问题。所有功能都必须返回一些东西。即使你没有告诉他们返回什么,他们仍然会返回无。