Pythonで一定数の数字和

ラーン:

私は現在、数値の桁の合計を生成し、それらが5の倍数である場合にのみ、それらを印刷したコードの一部に取り組んでいます。

したがって、たとえば:0、5、および14は、このインスタンスでプリントアウト最初の3桁の数字になります。

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

そして、このコードは素晴らしい作品!確かに1〜100の合計のために仕事はしかし、私はPythonでの経験のトンを持っていると私は自分自身をプッシュし、それは代わりに、1行のコードで実行しようとすると、取得したい考え出しはありません取得します。

現在、これは私が働いているものです。

print(sum(digit for digit in range(1,100) if digit % 5 == 0))

私は正しい軌道に沿ってどこかだような気がしますが、私はそこに道の残りの部分を取得することはできません。現在、このコードは950を吐き出しています。

私は知っているdigit % 5 == 0、完全に間違っているが、私はアイデアのすべてのアウトですよ!すべてのヘルプおよび/または知恵の言葉をいただければ幸いです。

Eriall:

これは私のために動作するようです

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

または0を含めたい場合は:

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

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=12835&siteId=1