目标:每天学习一点点,每天进步一点点。搞定人工智能、数据分析及可视化等指日可待!!!
今天我们来聊一聊循环结构。循环结构是指在程序中需要重复执行某个功能而设置的一种常用结构。由循环体中的判断条件,来判定是继续执行还是直接跳出循环。循环结构可以减少源程序重复书写的工作量,同时也能够优化程序结构,便于阅读,这是程序设计中最能发挥计算机特长的程序结构。
1、遍历循环
根据循环执行次数是否是确定,循环可分为确定次数循环和非确定次数循环。
确定次数循环指循环体对循环次数有明确的定义,循环次数采用遍历结构中元素个数来实现。
Python通过使用“for”来实现“遍历循环”。
![0ed54e6acadc0f026672e5516896d1a6.png](https://i-blog.csdnimg.cn/blog_migrate/38ef8c84c1edd23fc1c1e558c4e2af8b.jpeg)
![ca59d0f64aa30c619e32b83419251612.png](https://i-blog.csdnimg.cn/blog_migrate/ad6b72c64e0c8bf02c68a9b9d31f4454.jpeg)
遍历结构可以是range()函数、字符串、文件或组合数据类型等。
![bb4beb2c8b641a32f56e6c9bb3ff212e.png](https://i-blog.csdnimg.cn/blog_migrate/137fbe73ab9a2c9540753a60ca07f133.jpeg)
举两个小例子。
对于range()函数,可以指定语句块的循环次数,基本使用方式如下:
![3d04f724cc298d799c68094bbcac3199.png](https://i-blog.csdnimg.cn/blog_migrate/bac171385ba67693b27c5ef2a158900c.jpeg)
对于字符串,可以逐一遍历字符串的每个字符,基本使用方式如下:
![138b92ca69c6c68ee6d120e872647c70.png](https://i-blog.csdnimg.cn/blog_migrate/4ec19108372f59948eb4a85d585e6fab.jpeg)
![584c1e34645ebe2f6bbef7041c7af8e5.png](https://i-blog.csdnimg.cn/blog_migrate/3eb486da69f6c4c15177b1eda55aa3fa.jpeg)
2、无限循环
无限循环一直保持循环操作指导特定循环条件不被满足才结束,不需要提前知道确定循环次数。
Python通过使用“while”来实现“无限循环”。
![c52b24ec555e2ae7823fe941a2e59e29.png](https://i-blog.csdnimg.cn/blog_migrate/251687d1a2fdc3d6cb336b96dc4fe3da.jpeg)
![26674831b760bbd27319d4815f772d6e.png](https://i-blog.csdnimg.cn/blog_migrate/c65e4c5ca61bdb4155d447c2f74b8b27.jpeg)
注释:从上面的程序中可以看出,当i大于等于10时,跳出循环。
3、循环保留字
循环结构有有两个辅助保留字:continue、break。
break:主要用于跳出最内层for或者while循环,跳出该循环后,程序仍继续执行循环后的代码。
![603ed88737971cbb71ed8c40b90e2ed1.png](https://i-blog.csdnimg.cn/blog_migrate/b09b191fc0dcc74ab8097767a6e14323.jpeg)
![6446cb04f2965c5ed5d5daff17af6f04.png](https://i-blog.csdnimg.cn/blog_migrate/bb666b2027ced21fefd5db24f0d4d867.jpeg)
如果有两层或者多层循环,break用来退出最内层的循环。
其中break语句跳出了最内层的for循环,但仍然继续执行外层循环。每个break语句只用能力当前层次的你。
![64b77dfd91d1aefc59b15086124489b6.png](https://i-blog.csdnimg.cn/blog_migrate/668ca5836489c14ae3385e7cd289db27.jpeg)
![b6aaccd05ffe0eba45c6051de754ab8d.png](https://i-blog.csdnimg.cn/blog_migrate/49cce646cfd8a999c8e96c8da6b76402.jpeg)
注释:当输出第一个“h”后,触发条件语句,直接执行break语句,跳出内层循环。
continue:主要用于结束当前当次的循环,跳出循环体中下面尚未执行的语句,但不跳出当前循环。
两个语句对比一下。
![31c8badfee2ccb94f5c9537fde20ea5b.png](https://i-blog.csdnimg.cn/blog_migrate/d8848197f7ed96c7b595ee90db3391e1.jpeg)
![764bf99d3054f6e7d613948f8c226e8f.png](https://i-blog.csdnimg.cn/blog_migrate/ab729618b0036f24827a988715762b00.jpeg)
![6c48e79b9be788953b01a9d9ca377b41.png](https://i-blog.csdnimg.cn/blog_migrate/18e43bcbfb64bd8d89fd05b1df9270b8.jpeg)
continue语句和 break语句的区别是:
continue语句只结束本次循环,而不终止整个循环的执行,break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。