国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python基础教程 > 手把手教你使用python中的循环for和while

手把手教你使用python中的循环for和while

头像

silencement

2019-07-12 14:29:013408浏览 · 0收藏 · 0评论

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循环实质上是一个迭代器,迭代器在一个独立的线程中工作,并且拥有mutex(互斥)锁,即只有一个进程能访问这个可迭代对象。

当迭代器被创建时,在这里是,它生成一个内存索引表,这个表指向可迭代对象,在这里是range(8)。当i改变时,因为mutex锁的原因,这个索引表的内容并没有同步改变。也可以说成,此非彼。

但是如果是引用,那没有问题,这也很容易理解,比如在循环里打印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)

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

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

《性88分钟》| 《李瓶儿之真爰无悔》| 扌暴辶鬲和扌吴辶的区别| 少女自愈骑枕头视频| 高压监狱免费观看完整版在线播放| 寡妇春性饥渴1-4| 啄木鸟军舰女兵3法版| 白丝脚上的浓浓的精华液能用吗| 快拨出天我是你母亲歌词监控| 合不拢腿(双)BY粗眉毛免费阅..| 怎样增重| 女团热舞DJ| 扒开腿挺进肉蒂抽搐喷潮BL| 三叶草M码与欧洲码的区别| 国产一区二区| 女孩自愈视频免费观看第二集| 不戴套瑜伽教练3)| 胡乱的深见君| 性做爰A片春欲| 泰剧《劈开你的腿》免费观看| 一路向西在线| 吻戏| 人口兽猪马狗第1集| 《请好好疼爱里面》免费观看 | 《被按摩的人妻4》| 4488YY无码亚洲人成| 《美丽的小蜜桃4》女主是谁| 樱花电影大全免费观看西瓜| 真人刺激战场40分钟电视剧 | 大龟慢慢挺进女友闺蜜的小说| 小扫货几天没弄了这么多| 爸爸吃女儿奶奶高情商回复| 一前一后三个人一起的游戏规则| 女被扒开腿狂躁XXXXX视频| 丝瓜视频| 百色助学网| 女人乱子伦xXX沧州| 哥布林杀手| 偷偷在线观看免费的电视剧最新| 吃春晚药后妈妈疯了怎么对付| 金枝玉叶大结局