本节内容框架
![a496a44e25aeddd05890cefa5d0deaa6.png](https://i-blog.csdnimg.cn/blog_migrate/2c7a0444cd7c71c24f8f0a11cb15d4f4.jpeg)
遍历循环
定义:遍历某个结构形成的循环方式
用法:
for 循环变量 in 遍历结构:
语句块
理解:
- 从遍历结构中逐一提取元素,放在循环变量中
- 由保留字for和in组成,完整遍历所有元素后结束
- 每次循环,所获得元素放入循环变量,并执行一次语句块
遍历循环的应用:
- 计数循环:遍历由range()函数产生的数字序列,产生循环
· 计数循环(n次)
for i in range(n):
语句块
· 计数循环(特定次)
for i in range(m, n):
语句块
![35605533b2f2116589fcc5d9affffd3c.png](https://i-blog.csdnimg.cn/blog_migrate/1eac425831e441343a472a3cde26f619.jpeg)
- 字符串遍历循环
· for c in s:
语句块
· s是字符串,遍历字符串每个字符,产生循环
![d964e460e067b33739c390d2d169ccdd.png](https://i-blog.csdnimg.cn/blog_migrate/f5abe3733a4e1af9b4bfdcdf6c25ab00.jpeg)
- 列表遍历循环
· for item in ls:
语句块
· ls是一个列表,遍历其每个元素,产生循环
![95d22b653ee15395319e53eb79ce5b99.png](https://i-blog.csdnimg.cn/blog_migrate/76e145ab1dd101be0d2bff5a4f268f53.jpeg)
- 文件遍历循环
· for line in fi:
语句块
· fi是一个文件标识符,遍历其每行,产生循环
无限循环
定义:由条件控制的循环运行方式,反复执行语句块,直至条件不能满足时结束
用法:
while 条件:
语句块
![1c3ea5edfbbb08c9222fbf162bc6a08c.png](https://i-blog.csdnimg.cn/blog_migrate/d12215249081ccf557a3fcd8916af68d.jpeg)
循环控制保留字:break、continue
- break跳出并结束当前整个循环,执行循环后的语句
- continue结束当次循环,继续执行后续次数循环
- break和continue可以与for和while循环搭配使用
![1e8db255d4dce084550bf7e1d5600260.png](https://i-blog.csdnimg.cn/blog_migrate/6f2dbcb82ccb1f71d677a3971dc3df74.jpeg)
![bfd9bbbbe09b730ac088400dc88d931b.png](https://i-blog.csdnimg.cn/blog_migrate/cb4d5c06612c002091175292677da074.jpeg)
![6b403742ae55f139d0aeb269fb8b97f9.png](https://i-blog.csdnimg.cn/blog_migrate/22f671a7be7765396f0e300b9df07d9c.jpeg)
循环的高级用法:循环与else
- for 变量 in 遍历结构:
语句块1
else:
语句块2
- while 条件:
语句块1
else:
语句块2
- 当循环没有被break语句退出时,执行else语句块
- else语句块作为正常完成循序的奖励
- 这里else用法与异常处理中else用法类似
![bafc94f4a498868b276b8ecce6a6850b.png](https://i-blog.csdnimg.cn/blog_migrate/ee7c065ea4fe1bf3f1721b2b2fb7724c.jpeg)
random库的使用
random库概述
- random库是使用随机数的Python标准库
- random库主要用于生产随机数
基本随机数函数
- random.seed(a):a为给定的随机数种子,默认为当前系统时间
- random.random():生成一个[0.0, 1.0)之间的随机小数
![cd0f28772968cd58c7b4d3bd801e904f.png](https://i-blog.csdnimg.cn/blog_migrate/63707f439fac5b63aa86ca94ea34db32.jpeg)
![c6c41853bd8445b68c279ac2035dd8df.png](https://i-blog.csdnimg.cn/blog_migrate/37f44272970ac559d93c1fea793936ce.jpeg)
扩展随机数函数
- random.randint(a,b):生产一个[a,b]之间的整数
- random.randrange(m,n,k):生成一个[m,n)之间以k为步长的随机整数
- random.getrandbits(k):生成一个k比特长的随机整数
- random.uniform(a,b):生成一个[a,b]之间的随机小数
- random.choice(序列):从序列中随机选择一个元素
- random.shuffle(序列):将序列中元素随机排列,返回打乱后的序列
![68286cb6fe79e5e9398b73c9666f652e.png](https://i-blog.csdnimg.cn/blog_migrate/ea392fef263084de370be7b4fad71019.jpeg)
(完)
![30325171aad8f248485ddf171f504bfe.png](https://i-blog.csdnimg.cn/blog_migrate/0e6def6ca9fdeec4b794ffbf76804322.jpeg)