008.Python基础语法_IF分支(判断)结构

本文介绍了Python中的分支语句(包括IF、IF-ELSE和IF-ELIF-ELSE),展示了如何通过条件判断实现不同路径的执行,以及在体脂率计算案例中的应用。同时提到了Python虚拟环境和GUI开发的相关教程链接。
摘要由CSDN通过智能技术生成

在这里插入图片描述

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈
入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈
虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈
PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈
Oracle数据库教程:👉👉 Oracle数据库文章合集 👈👈
优 质 资 源 下 载 :👉👉 资源下载合集 👈👈

在这里插入图片描述
@[TOC](Python基础语法_IF分支(判断)结构)

分支的概念和应用场景

概念

  • python分支语句是python编程语言中的一种重要的概念,在语法上,它采用的是一种条件判断的方式来控制程序的流程,即根据特定的条件,编写出不同的程序执行路径。python分支语句可以根据所提供的条件进行快速判断,让程序更具逻辑性、表达力,使程序更易于理解和维护

作用

  • python分支语句主要用于处理多分支程序,可以通过指定不同的条件,来执行不同的程序段,更有效地控制程序的执行。它的作用主要包括:
    1. 控制程序的条件执行,也就是只有当特定的条件符合时,才会执行特定的代码段,即 python程序的执行路径可以根据特定的输入情况而发生改变
    2. 执行更复杂的程序,通过不同的条件不断地控制程序执行,可以做出更复杂的程序应用,从而满足日常开发需求
    3. 提升程序运行效率,通过分支语句可以更有效地控制程序的执行不用让程序空转,来提升程序的运行效率
    4. 降低程序的维护成本,分支语句的使用可以提高程序的可读性和可维护性,减少程序的维护成本

应用场景

  • 上网
    有身份证 and 成年 and 有钱
    
  • 安检
    有票 and 没有携带违禁物品
    
  • ATM取钱
    有卡 and 密码正确 and 有余额
    
  • 用户登录
    用户登录 ————> 账号正确 and 密码正确
    or
    二维码扫描成功
    or
    指纹识别成功
    

分支语句分类

  • IF语句(如果…则…,否则…)
    • 单分支:if……
    • 双分支:if……else……
    • 多分支:if……elif……else……

分支类型的结构图解

单分支判断

  • 语法
    if  条件:满足条件后要执行的代码
    
    if  条件:
    	满足条件后要执行的代码
    
  • 示例
    # 案例:用户输入年龄,如果年龄大于等于18岁,则输出“你已经成年了”
    # 写法1:
    age = int(input('请输入年龄:'))
    if age >= 18: print('你已经成年了!')
    
    # 写法2:
    if age >= 18:
    	print('你已经成年了!')
    

双分支判断

  • 语法
    if 条件:
        满足条件,执行的代码
    else:
        条件不满足则执行这行代码
    
  • 示例
    # 案例:用户输入年龄,如果年龄大于等于18岁,则输出“你已经成年了!”,否则输出“你还是未成年!”
    age = int(input('请输入年龄:'))
    if age >= 18:
    	print('你已经成年了!')
    else:
    	print('你还是未成年!')
    

多分支判断

  • 语法
    if 条件1:
        满足条件1,执行的代码
    elif 条件2:
        满足条件2,执行的代码
    else:
        以上条件都不满足执行这行代码
    
  • 在python中没有 swith...case 语法
  • 示例
    # 案例:成绩等级判断
    # 成绩大于等于90,小于等于100,优秀
    # 成绩大于等于80,小于90,良好
    # 成绩大于等于60,小于80,及格
    # 成绩大于等于0,小于60,不及格
    
    score = float(input('输入成绩:'))
    
    if 90 <= score <= 100:
    	print('优秀') 
    elif 80 <= score < 90:
    	print('优秀') 
    elif 60 <= score < 80:
    	print('及格') 
    elif 0 <= score < 60:
    	print('不及格') 
    else:
    	print('分数无效')
    

IF嵌套

  • IF嵌套:if分支内部再写if分支
  • 语法:
if 条件1:
	if 条件2:
		满足条件1,且满足条件2,执行语句
	else:
		满足条件1,但不满足条件2,执行语句
else:
	if 条件3:
		不满足条件1,但满足条件3,执行语句
	else:
		不满足条件1,且不满足条件3,执行语句
  • 示例:
# 案例:
# 男性身体健康输出,先生你好,你的身体非常健康,不健康则输出,先生你好,你的身体抱恙!
# 女性圣体健康输出,女士你好,你的身体非常健康,不健康则输出,女士你好,你的身体抱恙!

if sex == '男':
	if state == '健康':
		print('先生你好,你的身体非常健康!')
	else:
		print('先生你好,你的身体抱恙')
else:
	if state == '健康':
		print('女士你好,你的身体非常健康!')
	else:
		print('女士你好,你的身体抱恙')

注意事项

  • python语言是通过Tab键缩进进行区分代码块
  • 建议不要写嵌套层级太深的代码
  • python中没有类似于其他语言中的swith…case语法

案例

  • 优化体脂率计算案例
  • 输入内容容错处理
    1. 身高范围:0 < 身高 < 3
    2. 体重范围:0 < 体重 < 300
    3. 年龄范围:0 < 年龄 < 150
    4. 性别范围:1 或者 0
  • 数据处理
    • 针对男女的判定标准,分别进行判断,而不是通过找规律计算最大值、最小值进行判定
  • 输出处理
    • 结果提示优化
      • 男:先生你好
      • 女:女士你好
      • 正常:恭喜您,身体非常健康,请继续保持!
      • 不正常:请注意,您的身体偏瘦/胖
  • 优化代码1
    # 案例需求:采集一个人的身高、体重、年龄和性别,计算他的体脂率,并判断是否在正常范围之内
    
    # 输入数据
    # 身高
    personHeight = input('请输入身高(m):')
    personHeight = float(personHeight)
    
    # 体重
    personWeight = input('请输入体重(kg):')
    personWeight = float(personWeight)
    
    # 年龄
    personAge = input('请输入年龄:')
    personAge = int(personAge)
    
    # 性别
    personSex = input('请输入性别(男:1,女:0):')
    personSex = int(personSex)
    
    # 数据容错处理
    # 身高范围:0 < 身高 < 3
    # 体重范围:0 < 体重 < 300
    # 年龄范围:0 < 年龄 < 150
    # 性别范围:1 或者 0
    if 0 < personHeight < 3 and 0 < personWeight < 300 and 0 < personAge < 150 and (personSex == 1 or personSex == 0):
        # 处理数据
        # 计算体脂率
        # BMI = 体重(kg)/(身高 * 身高)(米)
        # 体脂率 = (1.2 * BMI + 0.23 * 年龄 - 5.4 - 18.8 * 性别(男:1,女:0))/100
        BMI = personWeight / (personHeight * personHeight)
        TZL = 1.2 * BMI + 0.23 * personAge - 5.4 - 18.8 * personSex
        TZL /= 100
    
        # 判断体脂率是否在正常的标准范围之内
        # 正常成年人的体脂率分别是:
        # 男性:15 % ~ 18 %
        # 女性:25 % ~ 28 %
        if personSex == 1:
            if 0.15 < TZL < 0.18:
                print('先生您好,您的体脂率在正常范围,请继续保持!')
            else:
                print('先生您好,您的体脂率已经超标了,请注意控制!')
        else:
            if 0.25 < TZL < 0.28:
                print('女士您好,您的体脂率在正常范围,请继续保持!')
            else:
                print('女士您好,您的体脂率已经超标了,请注意控制!')
    
  • 优化代码2
    # 案例需求:采集一个人的身高、体重、年龄和性别,计算他的体脂率,并判断是否在正常范围之内
    
    # 输入数据
    # 身高
    personHeight = input('请输入身高(m):')
    personHeight = float(personHeight)
    
    # 体重
    personWeight = input('请输入体重(kg):')
    personWeight = float(personWeight)
    
    # 年龄
    personAge = input('请输入年龄:')
    personAge = int(personAge)
    
    # 性别
    personSex = input('请输入性别(男:1,女:0):')
    personSex = int(personSex)
    
    # 数据容错处理
    # 身高范围:0 < 身高 < 3
    # 体重范围:0 < 体重 < 300
    # 年龄范围:0 < 年龄 < 150
    # 性别范围:1 或者 0
    if not (0 < personHeight < 3 and 0 < personWeight < 300 and 0 < personAge < 150 and (personSex == 1 or personSex == 0)):
        # 退出程序
        exit()
    # 处理数据
    # 计算体脂率
    # BMI = 体重(kg)/(身高 * 身高)(米)
    # 体脂率 = (1.2 * BMI + 0.23 * 年龄 - 5.4 - 18.8 * 性别(男:1,女:0))/100
    BMI = personWeight / (personHeight * personHeight)
    TZL = 1.2 * BMI + 0.23 * personAge - 5.4 - 18.8 * personSex
    TZL /= 100
    
    # 判断体脂率是否在正常的标准范围之内
    # 正常成年人的体脂率分别是:
    # 男性:15 % ~ 18 %
    # 女性:25 % ~ 28 %
    if personSex == 1:
        result = 0.15 < TZL < 0.18
        wenhao = '先生您好,'
        maxNum = 0.18
    else:
        result = 0.25 < TZL < 0.28
        wenhao = '女士您好,'
        maxNum = 0.28
    
    if result:
        print(wenhao, '您的体脂率在正常范围,请继续保持!')
    else:
        if TZL > maxNum:
            print(wenhao, '您的体脂率不正常,偏胖,请注意减肥!')
        else:
            print(wenhao, '您的体脂率不正常,偏瘦,请补充营养!')
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

失心疯_2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值