手把手教你使用python中的循环for和while
发布时间:2025-09-30 17:24:01

python中的for循环是一种通用的序列迭代器,可以遍历任何有序的序列对象中的元素(注意是遍历),也就是说循环的方式从一开始就固定了,本质上是遍历。
python:代码
count=0forinrange(8):ifi%2==0:
i+=2print(i,end='')
count+=1print('\N总数',count)返回结果
21436587 总次数8
我的初衷是让这个程序遇到偶数跳两次。显然,它已经执行了八次
而c++代码可以通过for实现此功能:
for(inti=1;i<=8;i++)
{
if(i%2==0){
i+=2;
}
cout<<i<<'';
}结果为
1458
为了在python中简单地实现上述功能,需要使用while。
总结: 里的 只是有序序列的遍历
深层次原因:
python for循环本质上是一个迭代器。迭代器在一个独立的线程中工作,并且有一个mutex(相互排斥)锁,也就是说,只有一个过程可以访问这个迭代对象。
当创建迭代器时,它生成一个指向可迭代对象的内存索引表,这里是range(8)。当i更改时,索引表的内容并没有因为mutex锁而同步更改。也可以说,这不是另一个。
但是,如果是引用,就没有问题,这很容易理解,比如在循环中打印print(i+二、什么,什么都可以。还是那个引用的?
当然, python中的循环也可以改变循环次数,重点是这句话——迭代器建立的内存索引表指向可迭代对象。
让我们来看看列表,比如
a=[1,2,3,4]
这个a列表本质上是对a[0],a[1],a[2],a[4]引用,由于列表本身是一个可迭代对象,我们可以改变列表(可迭代对象)的内部引用
count=0 foriina: a[1:]=[1] count+=1 print(count)
count 的结果为2
而上面的\color{red}{range}我们不能操作它的内部。第一个i是逐一查找内存索引表,第二个i是新对象
至于列表,我们直接改变了可迭代对象的结构,即内存索引表本身也发生了变化。
while
当条件满足时,Python中的while循环就会一直执行,当条件不满足时,就会停止
例如
whileTrue: print(1)
上面的例子是一个死循环。
下一篇 返回列表
