鱼C论坛

 找回密码
 立即注册
查看: 1409|回复: 16

[已解决]这行代码不理解

[复制链接]
发表于 2022-1-25 17:32:33 | 显示全部楼层 |阅读模式

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

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

x
这里的    not(n%3)   条件是什么意思啊?
最佳答案
2022-2-6 11:02:29
本帖最后由 Twilight6 于 2022-2-6 12:52 编辑


not(n%3) 是什么意思啊?


首先要知道,数值除了 0 == False 其他数值 都可以看作布尔类型的 True

not 是取反运算符,将数值取其相反的 布尔值,即此时 n % 3  是在求 n 除以 3 的余数

只有在 n 整除 3 时 返回 0 ,此时 被 not 函数取反 即为 True,就会返回给 filter 过滤函数,将其保留

1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-25 17:34:45 | 显示全部楼层
意思就是n%3 == 0
当not(n%3) == True时,n%3就是False,就是0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-25 17:39:57 | 显示全部楼层
这里 n % 3 如果结果是不等于零,就代表它不是 3 的倍数,
所以当 它 的结果等于零时,才表示它是 3 的倍数,但 0 在布尔类型中表示 False,所以还需要用 not 转换一下,变成 True 。


懂了吗?不懂可以再问!懂了就给个好评呗!!!

打字不易!请给个好评!!!
兄弟!请给个好评!求求了!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-25 17:45:03 | 显示全部楼层
python爱好者. 发表于 2022-1-25 17:39
这里 n % 3 如果结果是不等于零,就代表它不是 3 的倍数,
所以当 它 的结果等于零时,才表示它是 3 的倍 ...

就是说  原本需要 写
if n % 3 ==0:
    n 是三的倍数
else:
   n 不是三的倍数
这串代码只需要用 n%3 就可以解决了?

如果是的话
那么类似用法的代码还有吗?可以举例一下吗      
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-25 17:57:50 | 显示全部楼层
是可以用 not n % 3来实现,如:
if 2 > 1:
        print("2大")
else:
        print("1大")
可以改成:
not 2 < 1


这下可以给个好评了吧?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-25 18:14:36 | 显示全部楼层
咦?......还在吗???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-25 19:50:43 | 显示全部楼层
python爱好者. 发表于 2022-1-25 17:57
是可以用 not n % 3来实现,如:

可以改成:

还有类似用法的其他的吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-25 20:01:23 | 显示全部楼层
太多了,几乎所有的 if else 语句都能改成这样,所以这里就不再赘述了!


这回总该给个好评吧!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-25 20:24:47 | 显示全部楼层
本帖最后由 ckblt 于 2022-1-26 10:46 编辑
Monsieur. 发表于 2022-1-25 19:50
还有类似用法的其他的吗

if a == b: print("a等于b")
else: print("a不等于b")
改成
not (a != b)

评分

参与人数 1鱼币 -5 收起 理由
python爱好者. -5

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2022-1-26 08:38:58 | 显示全部楼层

错了,是改成:
not (a != b)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-1-26 10:57:21 | 显示全部楼层

额……知道了

评分

参与人数 1鱼币 +5 收起 理由
python爱好者. + 5

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-1-26 11:27:14 | 显示全部楼层

抱歉,没看到您的鱼币数量,这几个鱼币来赔偿您!好好学吧!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-26 12:00:33 | 显示全部楼层
python爱好者. 发表于 2022-1-26 11:27
抱歉,没看到您的鱼币数量,这几个鱼币来赔偿您!好好学吧!!!

我不能加好友,我的等级不允许我加

评分

参与人数 1鱼币 +4 收起 理由
python爱好者. + 4 再补偿您些

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-26 12:07:42 | 显示全部楼层
没事,努力加油吧!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-6 11:02:29 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2022-2-6 12:52 编辑


not(n%3) 是什么意思啊?


首先要知道,数值除了 0 == False 其他数值 都可以看作布尔类型的 True

not 是取反运算符,将数值取其相反的 布尔值,即此时 n % 3  是在求 n 除以 3 的余数

只有在 n 整除 3 时 返回 0 ,此时 被 not 函数取反 即为 True,就会返回给 filter 过滤函数,将其保留

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-6 12:48:18 | 显示全部楼层
Twilight6 发表于 2022-2-6 11:02
首先要知道,数值除了 0 == False 其他数值 都可以看作布尔类型的 False

not 是取反运算符,将数 ...

数值除了 0 == False 其他数值 都可以看作布尔类型的 True吗不是
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-6 12:52:05 | 显示全部楼层
Monsieur. 发表于 2022-2-6 12:48
数值除了 0 == False 其他数值 都可以看作布尔类型的 True吗不是



对  我打错了 抱歉

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-12 13:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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