网站首页 > 技术文章 正文
分支结构是编程中控制程序执行流程的重要结构,它允许程序根据不同的条件执行不同的代码块。Python中的分支结构主要通过if、elif和else语句实现。
1. 基本的if语句
最简单的分支结构是单个if语句,当条件为真时执行相应的代码块。
age = 18
if age >= 18:
print("您已成年,可以进入")
2. if-else结构
当需要在条件不成立时执行另一段代码,可以使用if-else结构。
age = 16
if age >= 18:
print("您已成年,可以进入")
else:
print("您未成年,禁止进入")
3. if-elif-else结构
对于多个条件判断,可以使用if-elif-else结构。
score = 85
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 60:
print("及格")
else:
print("不及格")
4. 嵌套的if语句
可以在一个if语句块中嵌套另一个if语句。
age = 20
has_id = True
if age >= 18:
if has_id:
print("年龄和证件符合要求,可以进入")
else:
print("年龄符合但无证件,禁止进入")
else:
print("年龄不足,禁止进入")
5. 单行if语句(三元表达式)
age = 20
status = "成年" if age >= 18 else "未成年"
print(status)
6. 布尔表达式中的逻辑运算符
可以在条件中使用and、or、not等逻辑运算符组合多个条件。
temperature = 25
humidity = 70
if temperature > 30 and humidity > 80:
print("天气又热又潮湿")
elif temperature > 30 or humidity > 80:
print("天气要么热,要么潮湿")
else:
print("天气舒适")
7. 分支结构中的代码块
Python使用缩进来表示代码块,同一缩进级别的语句属于同一个代码块。
x = 10
if x > 5:
print("x大于5") # 属于if代码块
print("这是if代码块的第二行") # 属于if代码块
print("这行代码不在if代码块中") # 不属于if代码块
案例:
1、身体质量指数计算器
例如我们要写一个身体质量指数(BMI)的计算器。身体质量质数也叫体质指数,是国际上常用的衡量人体胖瘦程度以及是否健康的一个指标,计算公式如下所示。通常认为 18.5≤BMI<24 是正常范围, BMI<18.5 说明体重过轻, BMI≥24 说明体重过重, BMI≥27 就属于肥胖的范畴了。
BMI=体重/身高2 (说明:上面公式中的体重以千克(kg)为单位,身高以米(m)为单位。)
print("身体质量指数计算器")
height = float(input('身高(cm):'))
weight = float(input('体重(kg):'))
bmi = weight / (height / 100) ** 2
print(f'{bmi = :.2f}')
if 18.5 <= bmi < 24:
print('你的身材很棒!')
else:
print('你的身材不够标准哟!')
使用match和case构造分支结构
Python 3.10 中增加了一种新的构造分支结构的方式,通过使用match和case 关键字,我们可以轻松的构造出多分支结构。
status_code = int(input('响应状态码: '))
match status_code:
case 400: description = 'Bad Request'
case 401: description = 'Unauthorized'
case 403: description = 'Forbidden'
case 404: description = 'Not Found'
case 405: description = 'Method Not Allowed'
case 418: description = 'I am a teapot'
case 429: description = 'Too many requests'
case _: description = 'Unknown Status Code'
print('状态码描述:', description)
分支结构的应用
例子1:分段函数求值
有如下所示的分段函数,要求输入x,计算出y。
x = float(input('x = '))
if x > 1:
y = 3 * x - 5
elif x >= -1:
y = x + 2
else:
y = 5 * x + 3
print(f'{y = }')
例子2:百分制成绩转换成等级
要求:如果输入的成绩在90分以上(含90分),则输出A;输入的成绩在80分到90分之间(不含90分),则输出B;输入的成绩在70分到80分之间(不含80分),则输出C;输入的成绩在60分到70分之间(不含70分),则输出D;输入的成绩在60分以下,则输出E。
score = float(input('请输入成绩: '))
if score >= 90:
grade = 'A'
elif score >= 80:
grade = 'B'
elif score >= 70:
grade = 'C'
elif score >= 60:
grade = 'D'
else:
grade = 'E'
print(f'{grade = }')
例子3:计算三角形的周长和面积。
要求:输入三条边的长度,如果能构成三角形就计算周长和面积;否则给出“不能构成三角形”的提示。
print("请输入三角形三边:")
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
if a + b > c and a + c > b and b + c > a:
perimeter = a + b + c
print(f'周长: {perimeter}')
s = perimeter / 2
area = (s * (s - a) * (s - b) * (s - c)) ** 0.5
print(f'面积: {area}')
else:
print('不能构成三角形')
猜你喜欢
- 2025-07-27 Python 3.14 新特性盘点,更新了些什么?
- 2025-07-27 Python单元测试(pycharm单元测试教程)
- 2025-07-27 Python学不会来打我(8)字符串string类型深度解析
- 2025-07-27 Python 中 字符串处理的高效方法,不允许你还不知道
- 2025-07-27 python学习教程-第六节内容(python基础教学视频)
- 2025-07-27 Python自动化办公应用学习笔记16——分支结构
- 2025-05-05 python unittest 基本用法(python3 unittest)
- 2025-05-05 使用pytest进行单元测试(pytest详解)
- 2025-05-05 用扣子开发一个图灵测试游戏(用扣子开发一个图灵测试游戏的软件)
- 2025-05-05 Python进阶-day19: 测试与调试(python测验)
- 1518℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 599℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 521℃MySQL service启动脚本浅析(r12笔记第59天)
- 489℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 489℃启用MySQL查询缓存(mysql8.0查询缓存)
- 477℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 456℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 454℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- windowsscripthost (69)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)