【问题标题】:Python3 Recursivley Sum Digits of an IntegerPython3 Recursivley Sum Digits of an Integer
【发布时间】:2012-10-27 18:34:24
【问题描述】:

我需要帮助来实现一个函数,该函数将获取整数的数字并将它们相加。 sumDigits 函数只要实现了递归,就有效,main 函数必须保持原样。我将在下面包含一个模板:

def sumdigits(value): 
    #recursively sum digits 

def main():
    number=int(input(“Enter a number :  ”))
    print(sumdigits(number))

main()

谢谢

【问题讨论】:

    标签: python recursion python-3.x


    【解决方案1】:

    一个很短的版本:

    def sumdigits(value):
        return value and (value % 10 + sumdigits(value // 10))
    

    value and 部分使它返回零,而不是在超过最后一位后无限递归。

    value % 10 部分获取最后一位数字(“一”位)。

    sumdigits(value // 10) 获取除最后一位以外的所有数字的总和

    // 是整数除法,自动为你丢掉结果的小数部分。

    【讨论】:

    猜你喜欢
    • 2013-09-30
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 2022-12-26
    • 1970-01-01
    • 2013-04-07
    • 2021-03-04
    • 1970-01-01
    相关资源
    最近更新 更多