这可以称为递归函数吗?它确实以一种方式减少,但不是以(数量 - 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)
不,这不是递归函数。递归函数必须调用自身。本页解释并显示了递归函数的示例。
这将是一个递归函数。
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)
回答你的第二个问题。所有函数都必须返回一些东西。即使你不告诉他们归还东西,他们仍然不返回。