我在一个数字中加上个别数字。我必须使用递归。问题是,如果不使用保持计数的holding变量,我就不知道如何做到这一点。我无法将count传递给函数,因为这可能导致用户错误。你知道吗
如果我在函数中声明count,那么在每次声明之后,值将被重新声明,从而删除其保留值。你知道吗
我无法将值存储在n本身中,因为它是整数而不是容器数据类型。我能做什么?你知道吗
def sumDigits(n):
if count == 0:
return count
else:
count += n%10
sumDigits(n,count)
Tags:
只需将其设置为默认值,并记录不应使用的文档。特别是在你的示例代码中,这就是你要做的。这通常就是解决这种递归问题的方法。如果要稍微隐藏它,可以使用
**kwargs
向用户隐藏关键字参数:请注意,我使用
**kwargs
而不是*args
来允许用户传递几乎任何他们想要传递给函数的检查,只要它不是count =
,并让它按预期的方式运行。你知道吗尝试将结果保存为函数的参数之一,并在函数的每次递归调用中更改它,使其在某个时候达到您的条件以结束递归。你知道吗
试试这个:
应该这样称呼:
其中
x
是输入整数。你知道吗相关问题 更多 >
编程相关推荐