鱼C论坛

 找回密码
 立即注册
查看: 2103|回复: 9

[已解决]求所有的奇数i+=1不懂

[复制链接]
发表于 2019-3-24 23:53:50 | 显示全部楼层 |阅读模式

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

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

x
i = 0
while i <= 100:
    if i % 2 != 0:
        print(i, end=' ')
        i += 1
    else:
        i += 1
最佳答案
2019-3-25 00:05:54
本帖最后由 luoydqsn 于 2019-3-25 00:10 编辑
20192019 发表于 2019-3-24 23:57
?这个我知道,我要问要他有什么用


首先去掉常有思维,不要觉得这个 i 是不可变的
i += 1 意思是说把 i 与 1 相加, 然后复制给 i ,这是一种计算机思维

比如这个代码第一次循环额时候, i = 0, 执行 else 下的代码块,
于是 先有 0 + 1 = 1,然后赋值给 i,于是i = 1

然后进入第二次循环,这时 i 的值是 1,会执行 if 下的代码块,先打印出 i 的值,也就是 1 ,然后 i = 1 + 1 = 2

以此类推,希望你看的明白
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-3-24 23:55:54 | 显示全部楼层
i += 1   等效于  i = i + 1

是一种简写~~要知道下下~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-24 23:57:41 | 显示全部楼层
luoydqsn 发表于 2019-3-24 23:55
i += 1   等效于  i = i + 1

是一种简写~~要知道下下~~

?这个我知道,我要问要他有什么用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-25 00:02:48 | 显示全部楼层
20192019 发表于 2019-3-24 23:57
?这个我知道,我要问要他有什么用

叠加啊,判断完当前的数字后(不论奇数还是偶数),然后判断下一个数字,不然i不能叠加,while就成了死循环了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-25 00:05:54 | 显示全部楼层    本楼为最佳答案   
本帖最后由 luoydqsn 于 2019-3-25 00:10 编辑
20192019 发表于 2019-3-24 23:57
?这个我知道,我要问要他有什么用


首先去掉常有思维,不要觉得这个 i 是不可变的
i += 1 意思是说把 i 与 1 相加, 然后复制给 i ,这是一种计算机思维

比如这个代码第一次循环额时候, i = 0, 执行 else 下的代码块,
于是 先有 0 + 1 = 1,然后赋值给 i,于是i = 1

然后进入第二次循环,这时 i 的值是 1,会执行 if 下的代码块,先打印出 i 的值,也就是 1 ,然后 i = 1 + 1 = 2

以此类推,希望你看的明白
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-14 06:36:16 | 显示全部楼层
luoydqsn 发表于 2019-3-25 00:05
首先去掉常有思维,不要觉得这个 i 是不可变的
i += 1 意思是说把 i 与 1 相加, 然后复制给 i ,这是 ...

把逻辑讲的很清楚,这样比单纯的讲概念更容易被新手接受。这叫小白用户思维是不?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-14 06:41:53 | 显示全部楼层
luoydqsn 发表于 2019-3-25 00:05
首先去掉常有思维,不要觉得这个 i 是不可变的
i += 1 意思是说把 i 与 1 相加, 然后复制给 i ,这是 ...

为什么要先执行else下的代码块呢?所有的类似程序都是先执行else,再执行if吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-14 15:40:28 | 显示全部楼层
cattyyeah 发表于 2020-7-14 06:41
为什么要先执行else下的代码块呢?所有的类似程序都是先执行else,再执行if吗?

不是先执行else,是因为不满足if 的判决条件 i % 2 != 0,所以才去执行else的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-14 16:32:05 | 显示全部楼层
weiyideid823 发表于 2020-7-14 15:40
不是先执行else,是因为不满足if 的判决条件 i % 2 != 0,所以才去执行else的

明白了,就是满足能满足的条件优先,对吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-15 11:02:05 | 显示全部楼层
cattyyeah 发表于 2020-7-14 16:32
明白了,就是满足能满足的条件优先,对吧

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-19 23:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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