python函数递归法求一个数各位数之和_python – 设计一个使用digit_sum计算数字总和的递归函数...
要獲得(正整數)數字的最后一位數,您可以計算模數:
last_digit = n % 10
該數字的其余部分(不包括最后一個地方)是:
rest = (n - last_digit) / 10
理論上這應該足以分割數字并添加數字:
def sum_digits(n):
if n < 10:
return n
else:
last_digit = n % 10
rest = n // 10
# or using divmod (thanks @warvariuc):
# rest, last_digit = divmod(n, 10)
return last_digit + sum_digits(rest)
sum_digits(1969) # 25
如果你想要遞歸地應用這個值,直到你有一個小于10的值,你只需要調用這個函數,只要不滿足該條件:
def sum_sum_digit(n):
sum_ = sum_digit(n)
if sum_ < 10:
return sum_
else:
return sum_sum_digit(sum_)
sum_sum_digit(1969) # 7
如果您有興趣另一種計算數字總和的方法是將數字轉換為字符串,然后添加字符串的每個字符:
def sum_digit(n):
return sum(map(int, str(n)))
# or as generator expression:
# return sum(int(digit) for digit in str(n))
總結
以上是生活随笔為你收集整理的python函数递归法求一个数各位数之和_python – 设计一个使用digit_sum计算数字总和的递归函数...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springboot中获得app_在Sp
- 下一篇: matlab fgoalattain,m