Python 如何计算一个数字中的所有偶数?我做错了什么?

Python 如何计算一个数字中的所有偶数?我做错了什么?,python,Python,我需要解决一个问题,我需要计算一个数字中的所有偶数。 我以123456号为例。其中偶数位数之和为2+4+6=12。但我得到6分,而不是12分。我做错了什么 n = int(123456) sum = 0 while n > 0: if n % 10 % 2 == 0: sum = sum + n % 10 n = n/10 print(sum) 我刚开始编程。请告诉我我的错误是什么。使用整数形式的除法,您的代码将按预期工作。即,替换此行: n = n/10

我需要解决一个问题,我需要计算一个数字中的所有偶数。 我以123456号为例。其中偶数位数之和为2+4+6=12。但我得到6分,而不是12分。我做错了什么

n = int(123456)
sum = 0
while n > 0:
    if n % 10 % 2 == 0:
        sum = sum + n % 10
    n = n/10
print(sum)

我刚开始编程。请告诉我我的错误是什么。

使用整数形式的除法,您的代码将按预期工作。即,替换此行:

n = n/10
关于这一点:

n = n//10

您使用的是n/10,它返回一个小数部分,例如:123/10给出12.3,这就是为什么您得到了一个错误的输出

有两种方法可以解决此错误

  • 使用math.floor
    n=数学楼层(n/10)
  • (或)

  • 使用只返回商的//运算符
    n=n/10