0

このコード セグメントは別の場所で見つけました。指定された数字のすべての数字を単純に追加します。

def sumDigits(n):
    sum = 0
    while n > 0:
        sum += n % 10
        n //= 10
    return sum

問題は、その背後にあるロジックがまったくわからないことです。特に、ループが何をするのか正確にはわかりません。

   while n > 0:
        sum += n % 10  # Why n % 10?
        n //= 10       # Again, not sure why we divide the number by 10

誰かがアルゴリズムがどのように機能するかの例を教えてもらえますか?

ありがとう!

4

1 に答える 1

9

次の 2 つのことを理解する必要があります。

  1. n % 10数字の右端の数字を教えてください。例えば:123 % 10 = 3
  2. n // 10数字の右端の桁を削除します。例えば:123 // 10 = 12

そのプロセスを繰り返すと、望ましい結果が得られます

于 2016-07-27T09:39:02.243 に答える