Python:一个数的数字根:它returns None
Python: digital root of a number: it returns None
给定一个数字,将数字相加得到一个新数字。将其数字相加以获得另一个新数字。继续这样做,直到你得到一个只有一位数字的数字。该数字是给定数字的数字根。
例如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 语句:
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)
# ^^^^^^
给定一个数字,将数字相加得到一个新数字。将其数字相加以获得另一个新数字。继续这样做,直到你得到一个只有一位数字的数字。该数字是给定数字的数字根。
例如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 语句:
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)
# ^^^^^^