三 、流程控制上
什么是流程?
根据把大象装进冰箱分几步可以解释
1、打开冰箱
2、把大象装进去
3、关冰箱
在程序中流程就是代码执行的过程
在Python当中主要的流程分3大结构:顺序结构(目前)、分支结构、循环结构
- 顺序结构:程序从头到尾的顺序依次执行每一条 Python 代码。
- 分支结构(选择结构):程序有选择性的往下执行,相当于有了路A和路B,可以依靠判断条件布尔值来选择执行2条或者以上的路径
- 循环结构:程序可以选择回头,不断地重复执行同一段代码。
3.1 分支结构
Python的缩进语法
Python 的代码结构确实非常独特,创始人 设计 通过 1个tab缩进 来组织代码块的规则
所以python中的缩进是有特殊含义的,表示语句块的进入和退出,不可以随便使用空格和缩进。
a = 1 # 报错,因为前面有没意义的缩进或者空格
python通过 缩进(tab键) 来表示 里外结构,例如流程控制的循环和分支
# 缩进配合if 来表示 语句块的进入
if 条件判断(bool):
表示if内部,条件判断成立进入的代码 # 增加缩进,进入if
表示if外部,与if无关的代码 # 取消缩进,结束if
3.1.1 单分支
中文: 如果 年龄>=18 启动原神
-
单分支语法
if 判断语句: # 进入if语句 当判断语句成立的时候(True),才会执行的代码1 当判断语句成立的时候(True),才会执行的代码2 当判断语句成立的时候(True),才会执行的代码3 ..... print("哈哈") # 结束if语句
age = int(input("请输入年龄:")) if age >= 18: print("原神,启动") print("^_^")
3.1.2 双分支
如果条件为True时候,执行特定区域代码,条件为False的时候,也执行特定区域的代码
- if else的语法结构
if 条件布尔值:
条件成立执行的代码1
条件成立执行的代码2
......
else:
条件不成立执行的代码1
条件不成立执行的代码2
.....
中文理解: if(如果) else(否则)
注意:双向分支只会执行其中1个分支,不可能同时输出 及格和不及格
# 如果 分数大于60 及格,否则 不及格
score = float(input("请输入分数:"))
if score >= 60:
print("及格")
else:
print("不及格")
3.1.3 多分支
某种年龄分段为
童年:0岁—6岁
少年:7岁—17岁
青年:18岁—40岁
中年:41—65岁
老年:66岁以后
# 从上往下判断,如果为true了就不会再往下执行了
if 布尔值1:
执行语句1
elif 布尔值2:
执行语句2
elif 布尔值3:
执行语句3
else:
执行语句4
中文理解:if(如果) elif(否则如果) else(否则)
elif => else if
# 年龄分层
age = int(input("请输入年龄:"))
if 0 <= age <= 6:
print("童年..")
elif 7 <= age <= 17:
print("少年..")
elif 18 <= age <= 40:
print('青年..')
elif 41 <= age <= 65:
print('中年')
else:
print("老年")
ps: elif 可以有0个 或者 多个 看实际分层需求来
ps: else 可以有0个 或者 1个 else只能放最后
3.1.4 嵌套分支
嵌套就是套娃
模板举例
if 表达式1:
if 表达式2:
语句块3
else:
语句块4
else:
语句块2
比如,在判断年龄分层之前,要求年龄必须要为 正数
age = int(input("请输入年龄:"))
if age > 0:
if 0 < age <= 6:
print("~~正在童年阶段~~")
elif 7 <= age <= 17:
print("~~正在少年阶段~~")
elif 18 <= age <= 40:
print("~~正在青年阶段~~")
elif 41 <= age <= 65:
print("~~正在中年阶段~~")
else:
print("~~正在老年阶段~~")
else:
print("请输入正确年龄")
注意:嵌套分支了一定要注意缩进结构
上图中有3层关系
红色区域 是一层 if else 结构
蓝色区域的 属于 红色区域的 内部代码
绿色区域的 属于 蓝色区域的 内部的代码
- 案例:购物打折计算
"""
编写一个程序
用户输入 商品单价,购买数量,收款余额
程序输出 打折后找零多少钱
打折制度
如果购物金额超过100元但不超过200元,享受9折优惠
如果购物金额超过200元但不超过500元,享受8折优惠
如果购物金额超过500元,享受7折优惠
100元及以下不打折
"""
price = float(input("请输入商品单价:"))
count = int(input("请输入购买数量:"))
amount = float(input("请输入付款金额:"))
total = price * count
# 打折制度,对total进行 修改
if 100 < total <= 200:
total = total * 0.9
elif 200 < total <= 500:
total = total * 0.8
elif 500 < total:
total = total * 0.7
else:
total = total * 1.0
if amount > total:
print("应该找零: ", amount - total)
elif amount == total:
print("不用找,刚好够")
else:
print("钱不够,刷信用卡")
标签:语句,控制,缩进,流程,else,print,执行,代码
From: https://blog.csdn.net/2301_80202670/article/details/143303000