【发布时间】:2016-11-14 20:45:07
【问题描述】:
我应该编写一个函数来计算给定数量的狗需要的鞋子数量。它可以很容易地用乘法来完成,但是我们需要使用递归,所以我有
def dogShoes(n):
total = 0
if n>0:
shoes = n + dogShoes(n)
total = total + 1
if total == 4:
return shoes
但我现在意识到第 4 行将走向无穷大,而我想阻止它的底部部分甚至不会实现。有没有办法说当total 是4 时,停止并返回答案而不使shoes 走向无穷大?
【问题讨论】:
-
这是我见过的最奇怪的递归学习方法。
-
你可以使用 for 循环吗?如果是这样,请这样做。
-
@ElliotRoberts “但我们需要使用递归”
-
对,对不起。
-
This answer 回答类似的问题可能会帮助您更好地理解递归。
标签: python recursion jython multiplication