- 流程控制: 控制程序按照一定的结构进行执行.
- 1966年计算机科学家 C.Bohm 和 G.Jacopini 在数学上证明, 只需要三种控制结构就能写出所有程序.
流程控制三大结构:
- 1.顺序结构
执行顺序从上而下依次运行(程序最基本的结构).
- 2.分支结构
在运行过程中根据不同的条件执行不同的流程.
- 3.循环结构
在运行过程中反复的执行某个子代码块.
- 顺序结构
按从上往下依次执行的代码, 几乎所有的程序都存在顺序结构.
# 1. 顺序结构.py
print(1)
print(2)
print(3)
运行工具窗口显示:
1
2
3
- 分支结构
- 分支结构开始部分通常是判断条件, 接下来是一个代码块(子句).
- 通过判断条件结果是 True 还是 False 控制程序执行方向.2.1 条件
3.1 条件
- 条件通过是一个表达式.
- 表达式: 由数字, 运算符 变量, 等能求得数值且有意义排列方法组合, 所有的表达式结果, 都可以转为布尔值.
- 布尔值的结果可以分为两大类:
-
-
- 显式布尔值
-
- (0, 0.0, None, False, 所有为空的数据... )
-
-
- 隐式布尔值
-
- 所有的值都可以当成条件去用, 除了上面列举的值为False, 其它的值都为True.
3.2 代码块
代码块可以看成是 Python 代码的一个执行单元, 可以根据代码行的缩进判断代码块的开始和结束.
代码块的三条规则:
-
- 缩进增加时, 代码块开始.
-
- 缩进减少为零或与与外面包围代码块对齐, 代码块就结束了.
-
- 代码块可以包含其他代码块.
3.3 if 判断语句
if 判断语句对条件进行判断.
为真: 执行代码块内的语句.
为假: 跳过代码块内的语句, 往下运行.
结构:
-
- if 关键字.
-
- 条件+冒号, 所有的控制语句都以冒号结尾, 后面紧跟着一个代码块.
-
- 代码块(代码块为if的子句).
- 条件为True
# 2. if 语句(条件为True).py
if 1 > 0:
print(1)
print(2)
运行工具窗口显示:
1
2
- 条件为False
# 3. if 语句(条件为False).py
if 1 < 0:
print(1)
print(2)
运行工具窗口显示:
2
3.4 else 语句
- else 语句不包含条件, 跟随if语句使用, 当if语句判断的条件为False时, 执行else语句的代码块.
- 组合格式:
- if 条件:
- 条件成立执行的子代码块
- else:
- 条件不成立执行的子代码块
# 4. else 语句.py
# 获取用户输入字符串
pwd = input('请输入密码>>>: ')
# 判断用户输入
if pwd == '123':
print('登录成功!')
else:
print('密码错误!')
第一次运行--> 运行工具窗口提示:
请输入密码>>>: (123)
登录成功!
第二次运行--> 运行工具窗口提示:
请输入密码>>>: (456)
密码错误!
3.4 if 嵌套
代码块中可以包含其它代码块.
# 5. if 嵌套.py
# 获取用户名
username = input('请输入登入用户>>>: ')
# 判断用户名是否正确
if username == 'kid':
print('用户名正确!')
# 获取用户密码
password = input('请输入用户密码>>>: ')
if password == '123':
print('登入成功!')
else:
print('密码不正确!')
else:
print('用户名不存在!')
运行工具窗口提示:
请输入登入用户>>>: (kid)
用户名正确!
请输入用户密码>>>: (123)
登入成功!
3.5 elif 语句
elif 语句在 与 if 语句后面出现, 仅在前面的条件为 False 时才会检查 elif 的条件,
当条件为 True 时, 执行 elif 的代码块.
组合格式:
if 条件1:
条件1成立之后执行的代码块.
elif 条件2:
条件1不成立, 条件2成立之后执行的子代码块.
elif 条件3:
条件1, 2不成立, 条件3成立之后执行的子代码块.
else:
所有条件都不成立, 执行的代码块.
* 1. 写一个程序要求输入一下分数, 对成绩进行评级.
90 分及以上 优秀
80 分及以上 良好
60 分及以上 及格
59 分及以下 不及格
# 5. elif 语句.py
# 1.获取分数
branch = input('输入你的分数: ')
# 2.判断分数属于哪个级别
if branch >= '90':
print('优秀')
elif branch >= '80':
print('良好')
elif branch >= '60':
print('及格')
else:
print('不及格')
- 练习
4.1 猜数字游戏1
1. 定义一个数字
2. 提示用户输入数字
3. 判断输入的数字是否是自己定义的数字
3.1 猜对了 打印'猜对了'.
3.2 猜错了 打印'猜错了'.
int() 函数将纯数字字符串转为整型. 例: int('1') --> 得到 1.
# 6. 猜数字游戏1.py
# 1. 定义一个变量存储需要猜的数字
num = 26
# 2. 获取用户输入的信息 (字符串)
guess_num = input('请输入你猜的数字: ')
# 3. 判断用户输入的数字是否正确
if int(guess_num) == num:
print('猜对了!')
else:
print('猜错了!')
4.2 猜数字游戏2
1. 定义一个数字
2. 提示用户输入数字
3. 判断输入的数字是否是自己定义的数字
3.1 猜对了 打印'猜对了'.
3.2 猜的数字比实际值大, 打印'猜大了'.
3.3 猜的数字比实际值小, 打印'猜小了'.
# 7. 猜数字游戏2.py
# 1. 定义一个变量存储需要猜的数字
num = 26
# 2. 获取用户输入的信息 (字符串)
guess_num = input('请输入你猜的数字: ')
# 3. 判断用户输入的数字是否正确
if int(guess_num) > num:
print('猜大了!')
elif int(guess_num) < num:
print('猜小了!')
else:
print('猜对了!')