python中某个数字的数字和

lar*_*arn 4 python python-3.x

我目前正在编写一段代码,该代码生成数字的数字总和并仅在它们是 5 的倍数时才打印它们。

因此,例如:0、5 和 14 将是本例中打印出来的前三位数字。

num = 0
while num < 100:
    sums = sum([int(digit) for digit in str(num)]) 
    if sums % 5 == 0: #determines if the sum is a multiple of 5
        print(num)
    num += 1
Run Code Online (Sandbox Code Playgroud)

这段代码效果很好!绝对可以完成 1 到 100 之间的总和。但是,我在 python 方面没有很多经验,并认为我会推动自己并尝试在一行代码中完成它。

目前,这就是我正在使用的:

print(sum(digit for digit in range(1,100) if digit % 5 == 0))
Run Code Online (Sandbox Code Playgroud)

我觉得我在正确的轨道上的某个地方,但我无法到达那里的其余部分。目前,此代码正在吐出 950。

我知道这digit % 5 == 0是完全错误的,但我完全没有想法!任何帮助和/或智慧之言将不胜感激。

Eri*_*all 5

这似乎对我有用

print([digit for digit in range(1,100) if (sum([int(i) for i in str(digit)]) % 5==0)])
Run Code Online (Sandbox Code Playgroud)

或者如果你想包括 0:

print([digit for digit in range(0,100) if (sum([int(i) for i in str(digit)]) % 5==0)])
Run Code Online (Sandbox Code Playgroud)