Python:数字的数字根:它返回无
Posted
技术标签:
【中文标题】Python:数字的数字根:它返回无【英文标题】:Python: digital root of a number: it returns None 【发布时间】:2020-06-09 03:17:56 【问题描述】:给定一个数字,将数字相加得到一个新数字。将其数字相加以获得另一个新数字。继续这样做,直到你得到一个只有一位数字的数字。该数字是给定数字的数字根。
例如,如果 n = 45893,我们将数字相加得到 4 + 5 + 8 + 9 + 3 = 29。然后我们将 29 的数字相加得到 2 + 9 = 11。然后我们相加11的数字得到1 + 1 = 2。由于2只有一位数字,所以2是我们的数字根。
def sum_digit_root(num):
n=str(num)
if len(n)<=1:
return num
else:
sum=0
for i in range(len(n) ):
sum+=int(n[i] )
sum_digit_root(sum)
print('\n---print sum_digit_root(num) ---------------------------', sum_digit_root(45893))
【问题讨论】:
else分支没有return语句。 是的!改为' return sum_digit_root(sum) ',现在可以了。非常感谢。 【参考方案1】:你忘记了else
分支中的return语句:
def sum_digit_root(num):
n=str(num)
if len(n)<=1:
return num
else:
sum=0
for i in range(len(n) ):
sum+=int(n[i] )
return sum_digit_root(sum)
# ^^^^^^
【讨论】:
以上是关于Python:数字的数字根:它返回无的主要内容,如果未能解决你的问题,请参考以下文章