鱼C论坛

 找回密码
 立即注册
查看: 6501|回复: 10

[已解决]下面代码中 if 条件该怎么理解,请大神帮忙分析下!

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

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

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

x

a = [i for i in range(100) if not(i%2) and i%3]
最佳答案
2017-9-19 23:07:48
  1. a = [i for i in range(100) if not(i%2) and i%3]
  2. print(a)

  3. print("=========================================================")
  4. a = []
  5. for i in range(100):
  6.     if  not (i%2) and i%3:
  7.         a.append(i)
  8. print(a)

  9. print("=========================================================")
  10. a = []
  11. for i in range(100):
  12.     if  (i%2)==0:
  13.         if i%3:
  14.             a.append(i)
  15. print(a)
  16. print("=========================================================")
  17. a = []
  18. for i in range(100):
  19.     if  (i%2)==0 and i%3 != 0:
  20.             a.append(i)
  21. print(a)
复制代码

以上几种代码都是等价的。

看最后一个代码
not i%2
这里not i%2 表示(i%2) == 0意思就是能被2整除

if代码的情况请看第二个代码
if not(i%2) and i%3就是满足if not i%2的同时在满足if i%3即可。

                               
登录/注册后可看大图
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-9-1 15:23:04 | 显示全部楼层
Crazy_Snail 发表于 2017-9-1 10:00
从0到99找出满足以下条件的数;
      1.是偶数
      2.不是3的倍数

在书上看到的这个例子,意思:求2的倍数但是不是3的倍数的数      
这里面用的not不很理解,正常求2的倍数就是能被2除尽,即:i%2,现在在前面用个not感觉瞬间大脑死机,
不知道该怎么理解了,请详细说下if语句的情况呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-27 03:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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