鱼C论坛

 找回密码
 立即注册
查看: 1305|回复: 5

[已解决]关于列表推到式的一个小疑问?

[复制链接]
发表于 2017-8-7 19:13:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
a = [i for i in range(1,99) if not (i % 2 ) and i%3]

我感觉应该是不能被2 整除的,但是可以被3整除的.  因为有一个 not (i % 2) ,不是i 除2:
但是结果是可以被2整除,不能被3整除,为什么了,想不通
最佳答案
2017-8-7 21:33:59
首先i 是要满足if 后面条件都为true的情况--
2个条件分别为:  
(not i % 2)为true ---> i%2 为false  就是  i%2 ==0
  i%3 为 true  ---> i%3 != 0

总结就是 i可以被2整除且不能被3整数的数, not优先级比 and 高的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-8-7 19:17:00 | 显示全部楼层
占楼,我也想听听
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-7 19:38:04 | 显示全部楼层
i % 2在能整除时为0(False),不能整除非0(True)。
你的式子 if not (i % 2 )在能整除时才为True。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-7 21:19:27 | 显示全部楼层
冬雪雪冬 发表于 2017-8-7 19:38
i % 2在能整除时为0(False),不能整除非0(True)。
你的式子 if not (i % 2 )在能整除时才为True。

if not (i % 2 )这个意思是? 不为false吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-7 21:33:59 | 显示全部楼层    本楼为最佳答案   
首先i 是要满足if 后面条件都为true的情况--
2个条件分别为:  
(not i % 2)为true ---> i%2 为false  就是  i%2 ==0
  i%3 为 true  ---> i%3 != 0

总结就是 i可以被2整除且不能被3整数的数, not优先级比 and 高的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-7 22:16:30 | 显示全部楼层
xiazhianran6 发表于 2017-8-7 21:19
if not (i % 2 )这个意思是? 不为false吗?

当能被二整除时,i % 2为0, not 0 为True
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 22:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表