【发布时间】:2019-09-19 18:03:47
【问题描述】:
所以我写了一个函数,当一个数字输入到函数中时,它计算数字的总和。现在我正在尝试编写另一个函数,该函数将返回一个字典,其中包含我的 digitsum 函数中的值作为键,而这些值将是该特定数字的计数发生的次数。关于如何编写第二个函数的任何想法?
def digitsum(x):
if x < 10:
return x
else:
return (x%10) + digitsum(x//10)
def digitsumdictionary(lnum=0, hnum=100):
L =[digitsum(num) for num in range(100)]
counter = Counter(L).items()
return counter
【问题讨论】:
-
“将是该特定数字的计数发生了多少次” 发生在什么情况下?
-
所以如果函数要运行多次。数字和 22 会出现多少次。这种帮助是否能更好地解释它?
-
使用
Counter:Counter(map(digitsum, numbers)) -
我建议你把
if x == 0: return 0 elif x != 0: ...改成if x < 10: return x else: ... -
谢谢帕特里克和 user633183!我现在似乎走在正确的轨道上,但它似乎仍然无法正常工作
标签: python-3.x dictionary recursion