ラーン:
私は現在、数値の桁の合計を生成し、それらが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)])