飘xx 发表于 2021-3-11 17:47:36

关于 if 和 取余的问题

为什么这里if判断不写成这样呢:
if num % 2 == 0:

lei1996 发表于 2021-3-11 17:59:35

都可以这样写就是更简洁

yuedong 发表于 2021-3-11 18:10:37

因为0也代表False
如果n%2==0,也说明该数是偶数
那么这里就相当于if 0
则执行else中的语句
如果不等于0也就是n是奇数
这里就执行if后面的语句

hrp 发表于 2021-3-11 18:18:51

if num % 2和if num% 2 != 0是一致的。

kogawananari 发表于 2021-3-11 18:46:30

if num % 2
是ifbool(num % 2)的缩写

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

所以你别看是if num % 2其实是 if (num % 2).__bool__() :{:10_318:}

飘xx 发表于 2021-3-12 16:50:37

kogawananari 发表于 2021-3-11 18:46
if num % 2
是ifbool(num % 2)的缩写



没大懂,我先去把bool这节课学习下{:5_109:}

z5560636 发表于 2021-3-12 17:59:37

因为语法里面    if 条件判定只有两个值   不等于0   和等于1.
所以num % 2    等于1就同等与   iftrue :   

均昊山 发表于 2021-3-12 18:09:52

本帖最后由 均昊山 于 2021-3-15 21:20 编辑




1111

yywwf2003 发表于 2021-3-13 09:08:40

学习了

张正涛 发表于 2021-3-15 20:52:27

Python会自动转化成布尔类型

张正涛 发表于 2021-3-15 20:53:09

均昊山 发表于 2021-3-12 18:09
0表示 True1表示False

0表示False,1表示True!!!

Minecraft程序猿 发表于 2021-4-1 20:53:12

除0外所有条件都为True,顺便提一句,我之前也做过,当时代码写的有点粗糙,你可以看看帖子,有统计的

剑廿三 发表于 2021-4-1 21:36:28

学习了,就是跟while i: 类似的,对吧。
页: [1]
查看完整版本: 关于 if 和 取余的问题