使用for和append函数筛选偶数

时间:2018-06-29 10:45:21

标签: python python-3.x

def sieve(numbers):
   odd = []
   for i in numbers:
      if (i//2) != 2:
         odd.append(i)
   return odd

a = [2, 4, 6, 8, 5]
print(sieve(a))

Output:
[2, 6, 8]

我希望此函数筛选出偶数,并且您可以看到我的if语句使用楼底除法将i的值除以2,如果不等于2,则它是一个奇数。但是,我得到的输出仅保留偶数。这是为什么?

1 个答案:

答案 0 :(得分:0)

我认为您对//运算符感到困惑。 //是楼层除法运算符,与除法运算符/非常相似。它返回无浮点数的除法结果。您可以检查here

>>> a = [2, 4, 6, 8, 5]
>>> for i in a:
        print i//2

输出:

1
2
3
4
2

为了找到奇/偶数,您可以使用模运算符%,如@lgle所说:

>>> for i in a:
        print i%2

输出:

0
0
0
0
1