python视频学习笔记3(循环)
一。程序的三大流程
本章大纲
二。while
初始条件设置 —— 通常是重复执行的 计数器
while 条件(判断 计数器 是否达到 目标次数):
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...
处理条件(计数器 + 1)
```
...........................................................
* 打印 5 遍 Hello Python
# 1. 定义重复次数计数器
i = 1
# 2. 使用 while 判断条件
while i <= 5:
# 要重复执行的代码
print("Hello Python")
# 处理计数器 i
i = i + 1
print("循环结束后的 i = %d" % i)
```
--实例:------------------------------------------------------
i = 1 初始值赋值
while i <= 6: (主要这里不需要括号)
print("循环了%d"% i)
i = i + 1 这步如果缺少,i就一直是1,一直满足条件导致一直执行print,就会进入死循环;和i += 1 是一样的
这行执行后i+1,再次回到 while i <= 6:开始执行判断是否满足,重复执行
print("循环了第%d次" % i) # 最后的i被赋值成了7,才会结束上面的循环,所以最后打印出来的i应该是7
---------------------------------------------
三。赋值运算符
在 Python 中,使用 `=` 可以给变量赋值
| 运算符 | 描述 | 实例 |
| --- | --- | --- |
| = | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
| += | 加法赋值运算符 | c += a 等效于 c = c + a |
| -= | 减法赋值运算符 | c -= a 等效于 c = c - a |
| *= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
| /= | 除法赋值运算符 | c /= a 等效于 c = c / a |
| //= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
| %= | 取 **模** (余数)赋值运算符 | c %= a 等效于 c = c % a |
| **= | 幂赋值运算符 | c **= a 等效于 c = c ** a |
循环 的计数都从 0 开始
四:循环计算
1.计算 0 ~ 100 之间 所有 **偶数** 的累计求和结果
# 计算 0 ~ 100 之间 所有 **偶数** 的累计求和结果
i = 0 #计数器
result = 0
while i <= 100: #开始循环
if i % 2 == 0:# 判断偶数
print(i)
result += i #当变量是偶数时,才进行累加操作!
i += 1 # 处理计数器
print(result)
五:break和 continue
* `break` **终止循环
* `continue` *结束本次循环,继续下一个循环
> `break` 和 `continue` 只针对 **当前所在循环** 有效
1.break
* **在循环过程中**,如果 **某一个条件满足后**,**不** 再希望 **循环继续执行**,可以使用 `break` 退出循环
。。。。。。。。。。。。。。。。。。。。。。。。。。。
i = 0
while i < 10:
# break 可以循环体内再次增加一个条件(某一条件满足时,退出循环),不再执行后续重复的代码
if i == 3:
break
print(i)
i += 1
print("over")
```
> `break` 只针对当前所在循环有效
..................................................................................................
2 continue
* **在循环过程中**,如果 **某一个条件满足后**,**不** 希望 **执行循环代码,但是又不希望退出循环**,可以使用 `continue`
* 也就是:在整个循环中,**只有某些条件**,不需要执行循环代码,而其他条件都需要执行
六:`while` 循环嵌套
1. 循环嵌套
* `while` 嵌套就是:`while` 里面还有 `while`
```python
while 条件 1:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...
while 条件 2:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...
处理条件 2
处理条件 1
```
在控制台连续输出五行 `*`,每一行星号的数量依次递增
。。。。。。。。。。。。
# 1. 定义一个计数器变量,从数字1开始,循环会比较方便
row = 1
while row <= 5:
print("*" * row) # *乘可以直接实现
row += 1
`。。。。。。。。。。。。。。。。
2. 对 `print` 函数的使用做一个增强
* 如果希望是左右结构不是上下,可以在 `print` 函数输出内容的后面增加 `, end=""`
输出123234
3.如果不用*如何实现循环?
**开发步骤**
* 1> 完成 5 行内容的简单输出
* 2> 分析每行内部的 `*` 应该如何处理?
* 每行显示的星星和当前所在的行数是一致的
* 嵌套一个小的循环,专门处理每一行中 `列` 的星星显示
4.字体之间垂直方向对齐\t;换行\n,靠拢end=“”
print("22",end="")
print("33")
输出:2233
print("22\n")
print("33")
输出:22
33
5.输入乘法表
二,for循环(可看学习笔记5)
循环遍历
**遍历** 就是 **从头到尾** **依次** 从 **列表** 中获取数据
* 在 **循环体内部** 针对 **每一个元素**,执行相同的操作
语法:
# for 临时变量 in 列表名
for name in name_list:
循环内部针对列表元素进行操作
print(name)
-----------------------------------
for i in (1,4):
print(i)
运行结果:
1
4
--------------------------------------
for i in range(1,4):
print(i)
运行结果:
1
2
3
range(start, stop[, step]),分别是起始、终止和步长
range(3)即:从0到3,不包含3,即0,1,2
---------------------------------------------
# 导入模块
import random
# 定义一个列表列表中有6个元素
# 六个元素每个数值范围 [-10, 50]
# 定义一个空的列表 用来保存数据
my_list = []
# 定义一个for循环,不用for只进行一次random则产生一个随机数。这里不关心i是多少,目的是能循环6次让下面的随机数取6次即可
for i in range(6):
# 获取随机数
value = random.randint(-10, 50)
# 把随机数添加到列表中
my_list.append(value)
print(my_list)
运行结果:[19, 43, 38, 41, 8, 33]
---------------------------------------------------------
三,for else 和 while else
1.for else 中有break ,if语句成立,则else中不会执行;
for else 中有break ,if语句不成立,则else中会执行;
没有break则for else中都会执行;
2.while(同for语句)