Python 请smb解释为什么答案是12而不是15?

Python 请smb解释为什么答案是12而不是15?,python,python-3.x,Python,Python 3.x,生成[1,2,4,5],省略0和3,因为它们在除以3时有余数0,因此不包括在listcomp输出中。1,2,4和5的和是12。为什么你认为结果应该是15?因为它是从0到5的和([1,2,4,5])有多少个数字可以被3整除?它们是什么?他们应该被排除在总数之外吗? def chek(x): if x%3==0: return False return True a=sum([i for i in range(6) if chek(i)]) print(a) [i

生成
[1,2,4,5]
,省略
0
3
,因为它们在除以3时有余数0,因此不包括在listcomp输出中。1,2,4和5的和是12。

为什么你认为结果应该是15?因为它是从0到5的和([1,2,4,5])有多少个数字可以被3整除?它们是什么?他们应该被排除在总数之外吗?
def chek(x):
    if x%3==0:
        return False
    return True
a=sum([i for i in range(6) if chek(i)])
print(a)
[i for i in range(6) if chek(i)]