知行编程网知行编程网  2022-11-29 06:00 知行编程网 隐藏边栏  10 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于手把手教你使用python中的循环for和while的相关知识,希望可以帮到处于编程学习途中的小伙伴

教你如何在python中使用循环for和while

python中的for循环是一个通用的序列迭代器,可以遍历任意有序序列对象内部的元素(注意是遍历),也就是说从一开始就固定循环方式,本质上就是遍历。

python:代码

count = 0for i in range(8):    if i % 2 == 0:
        i += 2    print(i, end=' ')
    count += 1print('\n总次数',count)

返回结果

2 1 4 3 6 5 8 7 
总次数 8

我的初衷是让这个程序遇到偶数就跳两下。很明显,执行了八次

而c++代码就可以用for实现这个功能:

for(int i = 1; i<=8;i++)
        {
            if(i%2==0){
               i += 2; 
            }
            cout<<i<<' ';
        }

结果为

1 4 5 8

python里要简单的实现上述功能,则需要用while了。

总结: 里的 只是对一个有序序列的遍历

深层次原因:

python中的for循环本质上是一个迭代器。迭代器工作在一个独立的线程中,具有互斥(互斥)锁,即只有一个进程可以访问这个可迭代对象。

当创建迭代器时,在本例中,它会生成一个指向可迭代对象的内存中索引表,在本例中为 range(8)。当i改变时,由于有互斥锁,索引表的内容不会同步改变。也可以说这不是那个。

但是如果是引用的话,是没有问题的,也很容易理解。比如循环打印print(i+2)就可以了。参考仍然是

当然python中的循环也是可以改变循环次数的,关键就在于这句话——这个迭代器创建的内存索引表指向一个可迭代对象。

我们来看看列表,例如

a= [1,2,3,4]

这个a列表本质上是对a[0]、a[1]、a[2]、a[4]的引用,由于列表本身是一个可迭代对象,我们把这个列表(可迭代对象)的内部引用改成

count = 0
for i in a:
   a[1:] = [1]
   count += 1
print(count)

count 的结果为2

而上面的\color{red}{range}我们没办法去操作它的内部操作,第一个i是一个一个的去内存索引表中查找,第二个i是一个新的对象

对于列表,我们直接改变了可迭代对象的结构,也就是说内存索引表本身发生了变化。

while

Python中的while循环,满足条件就一直执行,不满足就停止

例如

while True:
    print(1)

上面例子就是一个死循环。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享