我在其他地方发现了这个代码段。它只是添加给定数字中的所有数字:在一个数字中添加数字(需要解释代码)
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