鱼C论坛

 找回密码
 立即注册
查看: 1884|回复: 15

[已解决]第8讲课后作业(新版)中的if num % 2,有点不太明白

[复制链接]
发表于 2020-3-13 14:18:11 | 显示全部楼层 |阅读模式

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

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

x
最后的抛硬币实验,我发现把代码第七行代码改成if num % 2 == 1,依旧可以正常执行,答案中将==1这些省略了,想问一下是为什么?
最佳答案
2020-3-13 14:25:56
本帖最后由 一个账号 于 2020-3-13 19:50 编辑

因为 0 相当于 False,非 0 相当于 True,看个例子:

  1. >>> if 0:
  2.         print(1)

  3.        
  4. >>> if 1:
  5.         print(2)

  6.        
  7. 2
  8. >>> if -1:
  9.         print(3)

  10.        
  11. 3
  12. >>> if 3:
  13.         print(4)

  14.        
  15. 4
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-13 14:19:33 | 显示全部楼层
因为如果能整除余数就是0,而0是假值,
这样的话就会直接过滤过去,可以少写几个字
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-13 14:25:56 | 显示全部楼层    本楼为最佳答案   
本帖最后由 一个账号 于 2020-3-13 19:50 编辑

因为 0 相当于 False,非 0 相当于 True,看个例子:

  1. >>> if 0:
  2.         print(1)

  3.        
  4. >>> if 1:
  5.         print(2)

  6.        
  7. 2
  8. >>> if -1:
  9.         print(3)

  10.        
  11. 3
  12. >>> if 3:
  13.         print(4)

  14.        
  15. 4
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-13 15:12:44 | 显示全部楼层
一个账号 发表于 2020-3-13 14:25
因为 0 为 False,非 0 为 True,看个例子:

也就是说,如果是余数为零,可以省略写对吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-13 15:13:18 | 显示全部楼层
qiuyouzhi 发表于 2020-3-13 14:19
因为如果能整除余数就是0,而0是假值,
这样的话就会直接过滤过去,可以少写几个字

是不是在if语句中,如果条件判断值为0就可以省略写?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-13 15:13:42 | 显示全部楼层
972619178 发表于 2020-3-13 15:13
是不是在if语句中,如果条件判断值为0就可以省略写?

while也可以
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-13 15:22:51 | 显示全部楼层

那while能举个例子吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-13 15:27:15 | 显示全部楼层
972619178 发表于 2020-3-13 15:22
那while能举个例子吗?
  1. >>> m = 5
  2. >>> while m:
  3.         print(m)
  4.         m -= 1

  5.        
  6. 5
  7. 4
  8. 3
  9. 2
  10. 1
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-13 15:44:18 | 显示全部楼层
972619178 发表于 2020-3-13 15:13
是不是在if语句中,如果条件判断值为0就可以省略写?

在哪都可以写
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-13 16:09:06 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-13 16:09:23 | 显示全部楼层

那就设个最佳答案吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-13 16:22:21 | 显示全部楼层

感谢感谢~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-13 16:28:45 | 显示全部楼层
本帖最后由 一个账号 于 2020-3-13 17:43 编辑


那就设为最佳答案吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-14 22:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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