当前位置: 首页 > news >正文

【0010】Python流程控制结构-分支结构详解

如果你觉得我的文章写的不错,请关注我哟,请点赞、评论,收藏此文章,谢谢!

本文内容体系结构如下:
在这里插入图片描述

分支结构是编程中的基本控制结构之一,它允许程序根据条件判断执行不同的代码路径。通过本文,你将学会如何使用ifif-elseif-elif-else等语句,以及如何嵌套使用这些语句。此外,我们还会通过流程图直观地展示分支结构的执行流程。

流程控制是编程中的一个核心概念,它决定了程序执行的顺序和路径。通过流程控制,我们可以让程序根据条件选择执行不同的代码块,或者重复执行某些代码块。流程控制结构有顺序结构、分支结构和循环结构三种。其中顺序结构表示代码从上往下按照顺序执行,很简单,不用多讲。本文主要讲分支结构,下一篇文章讲循环结构。

一、分支结构简介

分支结构(也称为条件结构、选择结构)允许程序根据条件表达式的值执行不同的代码块。在Python中,分支结构主要通过if语句实现。条件表达式通常涉及比较运算符(如==><等)和逻辑运算符(如andornot等)。

二、Python中的分支结构

2.1 if 语句

if语句是最基本的分支结构,用于在条件为真时执行特定的代码块。适用于只有一种分支的情况下。

(1)语法结构
if 条件表达式:
    # 条件为真时执行的代码块
(2)执行规律
  1. 判断条件表达式的结果
  2. 如果条件表达式为True,执行里面的代码块,执行完之后继续执行if结构后面的代码
  3. 如果条件表达式为False,跳过if结构,执行if结构后面的代码

注意:条件表达式可以是布尔值、关系运算符执行结果和逻辑运算符执行结果

流程图:
在这里插入图片描述

(3)演示示例
num1 = 12
if num1>10:
    print("num1大于10")

num2 = 8
if num2>10:
    print("num2大于10")
(4)执行结果

在这里插入图片描述

2.2 if-else 语句

if-else语句用于在条件为真时执行一个代码块,否则执行另一个代码块。适用于两种分支的情况下

(1)语法结构
if 条件表达式:
    # 条件为真时执行的代码块
else:
    # 条件为假时执行的代码块
(2)执行规律
  1. 判断条件表达式的结果
  2. 如果条件表达式为True,执行条件表达式后面的代码块,执行完之后继续执行if-else结构后面的代码
  3. 如果条件表达式为False,执行else后面的代码块,执行完之后继续执行if-else结构后面的代码

注意:条件表达式可以是布尔值、关系运算符执行结果和逻辑运算符执行结果

流程图:
在这里插入图片描述

(3)演示示例
num1 = 12
if num1>10:
    print("num1大于10")
else:
    print("num1小于等于10")

num2 = 8
if num2>10:
    print("num2大于10")
else:
    print("num2小于等于10")
(4)执行结果

在这里插入图片描述

2.3 if-elif-else 语句

if-elif-else语句用于检查多个条件,并根据第一个满足的条件执行相应的代码块。如果没有条件满足,则执行else部分的代码块。

(1)语法结构
if 条件表达式1:
    # 条件表达式1为真时执行的代码块
elif 条件表达式2:
    # 条件表达式2为真时执行的代码块
......# 可以添加多个elif语句
elif 条件表达式n:
    # 条件表达式n为真时执行的代码块
else:
    # 所有条件都为假时执行的代码块
(2)执行规律
  1. 判断条件表达式1的结果
  2. 如果条件表达式1为True,执行条件表达式1后面的代码块,执行完之后继续执行if-elif-else结构后面的代码
  3. 如果条件表达式1为False,继续判断条件表达式2
  4. 如果条件表达式2为True,执行条件表达式2后面的代码块,执行完之后继续执行if-elif-else结构后面的代码
  5. 如果条件表达式2为False,继续判断…
  6. 如果条件表达式n为True,执行条件表达式n后面的代码块,执行完之后继续执行if-elif-else结构后面的代码
  7. 如果条件表达式n为False,执行else后面代码块

注意:else语句可以省略不写,如果所有条件表达式都为False,又省略了else,则if-elif-else结构不被执行。

注意:条件表达式可以是布尔值、关系运算符执行结果和逻辑运算符执行结果

流程图:
在这里插入图片描述

(3)演示示例:
score = 85
if score >= 90:
    print("优秀")
elif score >= 75:
    print("良好")
elif score >= 60:
    print("及格")
else:
    print("不及格")
(4)执行结果

在这里插入图片描述

2.4 嵌套if语句

嵌套if语句是指在一个if语句的代码块中再嵌套另一个if语句。这允许程序根据多个条件进行更复杂的判断。

(1)语法结构
if 条件表达式1:
    # 条件表达式1为真时执行的代码块
    if 条件表达式2:
        # 条件表达式1和条件表达式2都为真时执行的代码块
    else:
        # 条件表达式1为真,但条件表达式2为假时执行的代码块
else:
    # 条件表达式1为假时执行的代码块
(2)执行规律
  1. 判断条件表达式1的结果

  2. 如果条件表达式1为True,执行条件表达式1后面的代码块,然后判断条件表达式2

    如果条件表达式2为True,执行条件表达式2后面的代码块,执行完之后继续执行嵌套if结构后面的代码

    如果条件表达式2为False,执行里面else后面的代码块,执行完之后继续执行嵌套if结构后面的代码

  3. 如果条件表达式1为False,则执行外面else后面的代码块

注意:嵌套if理论上可以任意层次的嵌套,但是不要过多嵌套,一般不超过三层,否则不利于代码阅读。

注意:条件表达式可以是布尔值、关系运算符执行结果和逻辑运算符执行结果

流程图:
在这里插入图片描述

(3)演示示例
age = 20
has_ticket = True
if age >= 18: # 年满18岁才有资格进入电影院
    if has_ticket:# 年满18岁并且有电影票才能进入电影院
        print("可以进入电影院")
    else:
        print("没有票,不能进入电影院")
else: 
    print("未成年,不能进入电影院")
(4)执行结果

在这里插入图片描述

2.5 条件表达式

在Python中,条件表达式(也称为三元操作符或条件运算符)与许多其他编程语言(如C、C++、Java等)中的形式略有不同。在其他语言中,条件表达式通常写成 a > b ? a : b,这意味着“如果 a 大于 b,则结果为 a,否则结果为 b”。

然而,在Python中,这种语法是不被支持的。相反,Python使用了一种更冗长但更具可读性的语法来实现相同的功能。

(1)语法结构
result = 表达式1 if 条件表达式 else 表达式2
(2)执行规律
  1. 判断条件表达式的结果

  2. 如果条件表达式为True,将表达式1的值存储在变量result中

    如果条件表达式为False,将表达式2的值存储在变量result中

(3)演示示例
a = 10
b = 5
result = a if a > b else b
print(result)  # 输出: 10
(4)执行结果

在这里插入图片描述

值得注意的是,虽然Python的条件表达式比一些其他语言中的三元操作符更冗长,但它提供了更好的可读性,这对于编写和维护代码来说是非常重要的。此外,Python的语法设计也强调了代码的可读性和简洁性(尽管有时可能看起来不那么“紧凑”),这有助于减少错误并提高团队协作的效率。

三、课程总结

通过本文的学习,你掌握了Python中的分支结构语法,包括if语句、if-else语句、if-elif-else语句以及嵌套if语句。通过练习,多实践,熟练应用分支结构!

相关文章:

  • [machine learning] MACS、MACs、FLOPS、FLOPs
  • 第三章 指令系统
  • K8s控制器Deployment详解
  • 小程序是否支持SSE
  • 《量子潮涌下,DataWorks中AI模型训练框架的变革征途》
  • 极狐GitLab 17.9 正式发布,40+ DevSecOps 重点功能解读【二】
  • C#批量压缩并上载CSV数据文件到Box企业云盘
  • 统一数据返回格式
  • IDEA入门及常用快捷键
  • AI-Deepseek + PPT
  • 用Python之requests库调用大模型API实现多轮对话
  • Vulnhub-Hackme靶机
  • centos7服务器 Java和Hadoop安装教程,用VMware和finalshell
  • 2025东方财富笔试考什么?cata能力测评攻略|答题技巧真题分享
  • 浙江省一体化数字资源系统(IRS)介绍(七个方面展开)
  • PHP之字符串拼接
  • vscode远程ssh链接服务器
  • 内网环境下如何快速下载大模型
  • 【Python爬虫】利用代理IP爬取跨境电商AI选品分析
  • 3.4刷题
  • 青海省交通运输厅副厅长田明有接受审查调查
  • 奥迪车加油时频繁“跳枪”维修两年未解决,4S店拒退换:可延长质保
  • 马上评|让查重回归促进学术规范的本意
  • A股午后拉升,沪指收复3400点:大金融发力,两市成交超1.3万亿元
  • 国务院关税税则委员会关于调整对原产于美国的进口商品加征关税措施的公告
  • 持续8年仍难终了的纠纷:败诉方因拒执罪被立案,胜诉方银行账户遭冻结