流程控制
流程控制即 控制流程, 具体指控制程序的执行流程, 而程序的流程分为三种,
- 顺序结构(以前写的代码都是顺序结构)
- 分支结构(if 判断)
- 循环结构(while 和 for 循环)
分支结构
什么是分支结构
分支结构就是根据条件判断的真假去执行不同的代码块.
为什么要用分支结构
人类某些时候要根据条件决定做什么事情, 比如, 今天下雨, 带伞.
是最基本的逻辑判断.
如何使用分支结构
if 语法
用if关键字实现分支结构.
1
|
if 条件1:
|
if 应用案例
1
|
# 案例1
|
1
|
# 案例2
|
1
|
# 案例3
|
练习登录
1
|
username_from_db = "zhang"
|
循环结构
while 循环语法
python中 有while 与for 两中循环机制, 其中while 称之为条件循环.
1
|
while 条件:
|
案例1
用户认证
1
|
username_from_db = "zhang"
|
案例二 while + break 的使用
使用while 循环后, 当登录成功, 则需要后续操作, 需要结束本层循环 , 那么就需要break.
- break 结束本层循环. 结束后 循环内代码都不执行.
1
2
3
4
5
6
7
8
9
10
11
12
13username_from_db = "zhang"
password_from_db = 123
# 记录验证错误次数
count = 0
while count <3:
username = input("please input your username>>:").strip()
password = input("please input your password>>:").strip()
if username == username_from_db and password == password_from_db:
print("登录成功")
break # 用于结束本层循环
else:
print("用户名或密码错误,请重新收入")
count +=1
案例三, while 循环嵌套+ break
如果while 循环嵌套了很多层, 想要退出每层循环,则需要在每层都有一个break
1
|
username_from_db = "zhang"
|
案例四, while 循环嵌套, + tag 的使用
针对嵌套多层的while循环, 如果当满足某个条件就退出所有循环, 就可以使用tag , 即 将tag 初始值为 True , 当满足某个条件后 tag 更改为False , 就会退出所有层循环
1
|
username_from_db = "zhang"
|
案例五 while + continue 的使用.
- break 代表结束本层循环,
- continue 代表结束本次循环, 进入下一次循环
1
2
3
4
5
6
7num = 10
while num >1:
num -=1
if num ==6:
continue # 结束到本次循环, 后面的代码则不会再运行, 直接进入下一次循环.
print(num)
# 结果 6 则不打印,
当循环正常结束后, 执行else 后语句, 用来验证 循环是否正常结束.1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16count = 0
while count <5:
count +=1
print(f"这是第{count}次循环")
else:
print("循环正常结束")
print("*"*50)
# 输出
这是第1次循环
这是第2次循环
这是第3次循环
这是第4次循环
这是第5次循环
循环正常结束
**************************************************
1
|
count = 0
|
for 循环语法.
循环结构的第二种实现方法是 for 循环, for 循环可以做的事情 while循环都可以实现,之所以使用for 是因为, for循环在遍历取值时, 更为简洁.
- for 循环语法如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for 变量名 in 可迭代对象: # 可迭代对象为, 字典,列表, 字符串, 等..
代码1
代码2
# 例子
for i in [1,2,3,4]:
print(i)
# 输出结果
1
2
3
4
# 循环是, 将列表[1,2,3,4] 中的值分别取出并赋值给i 然后打印i 直到列表值取完.1
2
3
4
5
6
7
8
9
10
11
12# for 版本
for count in range(6):
print(count)
# while 版本
count = 0
while count<6:
print(count)
count +=1
# range 有三个参数, start = 其实数字 end = 结束数字. sep =步长
# range 顾头不顾尾.1
2
3
4
5
6for k in {"name":"Evgeny", "age":18}
print(k)
# 输出结果
name
age
1
|
# 使用for 循环嵌套的方式打印以下图形
|
注意: break 与continue 也可以用于for循环, 使用发放与while循环相同.