鱼C论坛

 找回密码
 立即注册
查看: 1496|回复: 5

[已解决]python p10了不起的分支和循环3中的余数问题

[复制链接]
发表于 2022-6-15 16:33:39 | 显示全部楼层 |阅读模式

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

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

x
代码:
for i in range(10):
    if i % 2 != 0:
        print(i)
        continue
    i += 2
    print(i)

运行结果:
2
1
4
3
6
5
8
7
10
9

进程已结束,退出代码0

第一次运行10/2余0跳出循环,所以第一个运行结果是2.
但是2/2同样余0为什么运行结果却是1呢?
求大佬解惑
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-6-15 20:50:07 | 显示全部楼层

回帖奖励 +10 鱼币

本帖最后由 leletatann 于 2022-6-15 20:52 编辑

他是从0到9来循环的
第一次运行 i 是0,0/2 == 0所以就打印 i = 0+2 , i = 2;
第二次运行 i 是1,1/2 !=  0所以就打印 i = 1;
第三次运行 i 是2,2/2 == 0所以就打印 i = 2+2 , i = 4;
第四次运行 i 是3,3/2 !=  0所以就打印 i = 3;
第五次运行 i 是4,4/2 == 0所以就打印 i = 4+2 , i = 6;
第六次运行 i 是5,5/2 !=  0所以就打印 i = 5;
第七次运行 i 是6,6/2 == 0所以就打印 i = 6+2 , i = 8;
第八次运行 i 是7,7/2 !=  0所以就打印 i = 7;
第九次运行 i 是8,8/2 == 0所以就打印 i = 8+2 , i = 10;
第十次运行 i 是9,9/2 !=  0所以就打印 i = 9;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-6-15 22:36:51 | 显示全部楼层    本楼为最佳答案   

回帖奖励 +10 鱼币

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

使用道具 举报

发表于 2022-6-16 00:00:30 | 显示全部楼层

回帖奖励 +10 鱼币

循环内i的变化不会影响for语句中i的值。
for循环遍历的是序列项目,不能单纯的认为i是一个值,for循环中的i是序列中的对象。
而range()是一个迭代对象,range(10)是range(0,10,step = 1)的缩写,默认指定了步长为1,所以遍历它会返回从0~9。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-6-16 11:48:40 | 显示全部楼层
leletatann 发表于 2022-6-15 20:50
他是从0到9来循环的
第一次运行 i 是0,0/2 == 0所以就打印 i = 0+2 , i = 2;
第二次运行 i 是1,1/2 !=  ...

最佳答案感谢大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-16 11:49:15 | 显示全部楼层
迷路的狍子 发表于 2022-6-16 00:00
循环内i的变化不会影响for语句中i的值。
for循环遍历的是序列项目,不能单纯的认为i是一个值,for循环中的 ...

感谢大佬答疑解惑
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 21:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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