我在其他地方發現了這個代碼段。它只是添加給定數字中的所有數字:在一個數字中添加數字(需要解釋代碼)
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
有人可以提供一個算法如何工作的例子嗎?
謝謝!
你知道''%運營商做什麼?你有沒有考慮看看'n%10'是什麼以及每次迭代時'n'如何變化? –
是的,我知道模數運算符。我只是不確定它在這種情況下的使用。我試圖在紙上找到它,但仍然無法弄清楚。 –
'print(n,sum)'在循環中? – polku