python p10了不起的分支和循环3中的余数问题
代码: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呢?
求大佬解惑 本帖最后由 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; {:10_256:}{:10_266:}{:5_110:} 循环内i的变化不会影响for语句中i的值。
for循环遍历的是序列项目,不能单纯的认为i是一个值,for循环中的i是序列中的对象。
而range()是一个迭代对象,range(10)是range(0,10,step = 1)的缩写,默认指定了步长为1,所以遍历它会返回从0~9。 leletatann 发表于 2022-6-15 20:50
他是从0到9来循环的
第一次运行 i 是0,0/2 == 0所以就打印 i = 0+2 , i = 2;
第二次运行 i 是1,1/2 !=...
最佳答案{:5_106:}感谢大佬 迷路的狍子 发表于 2022-6-16 00:00
循环内i的变化不会影响for语句中i的值。
for循环遍历的是序列项目,不能单纯的认为i是一个值,for循环中的 ...
感谢大佬答疑解惑{:5_106:}
页:
[1]