私はPythonの簡単な問題のために次のコードを書きました-
def Peu1(numbers):
"Sum of all the multiples of 3 or 5 below 1000."
for num in range(numbers):
if num%3 == 0 or num%5 == 0:
test = sum(range(numbers),0)
return test
print Peu1(1000)
リスト内包表記に変更したいのですが、次のように書きました-
test = [sum(range(numbers),0) for num in range(numbers) if num%3 == 0 or num%5 == 0]
print test
しかし、私のリスト内包表記は、結果をループで出力しています。つまり、結果をn回取得しています(mod 3または5)。間違いを特定してガイドしてください。