求100内的奇数和,我怎么求出来是2550

求100内的奇数和,我怎么求出来是2550

问题描述:

已知 0~100的奇数和为2500
偶数和为2500

x = list(range(1,101))
y = sum(filter(lambda i: i%2 == 0,x))    #过滤偶数,求奇数和
print(y)

结果却是2550,为什么反了?

你对filter的过滤的理解错误,lambda表示保留的条件,而不是去掉的条件

x = list(range(1,101))
y = sum(filter(lambda i: i%2 != 0,x))    #过滤偶数,求奇数和
print(y)