3

整数の数字を取り、それらを合計する関数を実装するのに助けが必要です。sumDigits 関数が再帰を実装している限り有効であり、メイン関数はそのままにしておく必要があります。以下にテンプレートを含めます。

def sumdigits(value): 
    #recursively sum digits 

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

main()

ありがとうございました

4

1 に答える 1

6

非常に短いバージョン:

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

このvalue and部分は、最後の桁を超えると無限に再帰するのではなく、ゼロを返すようにします。

パーツは最後のvalue % 10桁(「1」の場所)を取得します。

sumdigits(value // 10)、最後の桁を除くすべての桁の合計を取得します

//は整数除算であり、結果の小数部分を自動的に破棄します。

于 2012-11-07T17:18:10.363 に答える