首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用for和append函数筛选偶数

使用for和append函数筛选偶数
EN

Stack Overflow用户
提问于 2018-06-29 18:45:21
回答 1查看 55关注 0票数 0
代码语言:javascript
复制
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,那么它就是一个奇数。然而,我得到的输出只保留了偶数。为什么会这样呢?

EN

回答 1

Stack Overflow用户

发布于 2018-06-29 19:19:34

我想你把//操作符搞混了。//是与除法运算符/非常相似的楼层除法运算符。它返回不带浮点数的除法结果。你可以查看here

代码语言:javascript
复制
>>> a = [2, 4, 6, 8, 5]
>>> for i in a:
        print i//2

输出:

代码语言:javascript
复制
1
2
3
4
2

为了找到奇数/偶数,你可以使用模运算符%,就像@lgle所说的那样:

代码语言:javascript
复制
>>> for i in a:
        print i%2

输出:

代码语言:javascript
复制
0
0
0
0
1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51099966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档