鱼C论坛

 找回密码
 立即注册
查看: 3224|回复: 12

关于 if 和 取余的问题

[复制链接]
发表于 2021-3-11 17:47:36 | 显示全部楼层 |阅读模式

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

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

x
为什么这里if判断不写成这样呢:
if num % 2 == 0:
微信图片编辑_20210311174614.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-11 17:59:35 | 显示全部楼层
都可以  这样写就是更简洁
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-3-11 18:10:37 From FishC Mobile | 显示全部楼层
因为0也代表False
如果n%2==0,也说明该数是偶数
那么这里就相当于if 0
则执行else中的语句
如果不等于0也就是n是奇数
这里就执行if后面的语句
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-3-11 18:18:51 From FishC Mobile | 显示全部楼层
if num % 2和if num% 2 != 0是一致的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-3-11 18:46:30 | 显示全部楼层
if num % 2
是if  bool(num % 2)的缩写

由于 num % 2 是int类型  所以bool(int)是间接调用int类的__bool__魔术方法

所以你别看是if num % 2  其实是 if (num % 2).__bool__() :
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

 楼主| 发表于 2021-3-12 16:50:37 | 显示全部楼层
kogawananari 发表于 2021-3-11 18:46
if num % 2
是if  bool(num % 2)的缩写

没大懂,我先去把bool这节课学习下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-12 17:59:37 | 显示全部楼层
因为语法里面    if 条件判定只有两个值   不等于0   和  等于1.
所以num % 2    等于  1  就同等与   if  true :   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-12 18:09:52 | 显示全部楼层
本帖最后由 均昊山 于 2021-3-15 21:20 编辑




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

使用道具 举报

发表于 2021-3-13 09:08:40 | 显示全部楼层
学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-15 20:52:27 | 显示全部楼层
Python会自动转化成布尔类型
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-15 20:53:09 | 显示全部楼层
均昊山 发表于 2021-3-12 18:09
0表示 True  1表示False

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

使用道具 举报

发表于 2021-4-1 20:53:12 From FishC Mobile | 显示全部楼层
除0外所有条件都为True,顺便提一句,我之前也做过,当时代码写的有点粗糙,你可以看看帖子,有统计的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-1 21:36:28 | 显示全部楼层
学习了,就是跟while i: 类似的,对吧。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-13 13:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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