在数字中添加数字(需要代码说明)

2024-04-26 11:24:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我在别处遇到了这个代码段。它只是将给定数字中的所有数字相加:

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

有人能给我举一个算法工作原理的例子吗?你知道吗

谢谢!你知道吗


Tags: returndef代码段not数字逻辑wesum
1条回答
网友
1楼 · 发布于 2024-04-26 11:24:15

你应该明白两件事:

  1. n % 10给你一个数字最右边的数字。例如:123 % 10 = 3
  2. n // 10删除数字最右边的数字。例如:123 // 10 = 12

所以如果你重复这个过程,你就会得到想要的结果

相关问题 更多 >