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

Python程序控制结构 if语句详解

前面我们已经详细介绍了Python编程基础入门:从风格到数据类型再到表达式

在编程中,控制结构决定了代码的执行顺序。Python提供了丰富的控制结构,可以帮助程序根据不同条件做出不同的决策和操作。本文将深入介绍Python中常见的控制结构——包括if语句的单分支、双分支以及嵌套结构。
在这里插入图片描述

一、if单分支语法

1.1 定义

if语句是Python最简单的控制结构之一,它根据条件的真或假来决定是否执行特定代码。if语句的条件必须是布尔表达式(即结果为TrueFalse)。

  • 语法
    if 条件表达式:语句块
    
    条件表达式True时,语句块会被执行;否则,语句块将被跳过。

1.2 示例

  • 示例1:判断一个数是否为正数

    number = 10
    if number > 0:print(f"{number} is positive.")
    

    在这个例子中,if number > 0 是条件表达式。当number大于0时,Python将执行print(f"{number} is positive."),否则不做任何操作。

1.3 注意事项

  • 代码块的缩进非常重要,通常推荐使用4个空格进行缩进。
  • if语句可以单独使用,也可以作为更复杂条件判断的一部分。

二、if-else双分支结构

2.1 定义

if-else语句是一种二选一的结构,意味着当条件为真时执行一组代码,当条件为假时执行另一组代码。

  • 语法

    if 条件表达式:语句块1
    else:语句块2
    

    条件表达式True时,执行语句块1,否则执行语句块2

2.2 示例

  • 示例2:判断一个数是正数还是负数

    number = -5
    if number >= 0:print(f"{number} is non-negative.")
    else:print(f"{number} is negative.")
    

    在这个例子中,if number >= 0 是条件表达式。当number大于等于0时,执行print(f"{number} is non-negative.");否则,执行print(f"{number} is negative.")

2.3 实践场景

  • 判断用户输入的合法性(如判断用户是否输入有效数据)。
  • 处理默认情况(当某种情况未被满足时执行默认操作)。

三、if分支结构的嵌套

3.1 定义

嵌套的if结构是指在一个ifelse代码块中再包含另一个ifelse,从而实现更加复杂的条件判断。嵌套结构在处理多个条件时非常有用。

  • 语法

    if 条件表达式1:if 条件表达式2:语句块1else:语句块2
    else:语句块3
    

    条件表达式1为真时,继续检查条件表达式2,如果为真,执行语句块1,否则执行语句块2。如果条件表达式1为假,直接执行语句块3

3.2 示例

  • 示例3:判断一个数是正数、负数还是零

    number = 0
    if number >= 0:if number == 0:print("Number is zero.")else:print("Number is positive.")
    else:print("Number is negative.")
    

    这个示例首先判断number是否大于等于0,如果是,再进一步判断它是否等于0,从而区分正数和零;否则,直接输出“负数”。

3.3 实践场景

  • 复杂条件的逐层判断。例如,判断一个人是否符合某些标准(年纪、收入、地区等)时,就需要嵌套的条件判断。
  • 在程序控制中,根据不同的条件组合执行不同的操作。

四、elif多分支结构

4.1 定义

有时我们需要根据多个条件进行判断,这时可以使用elif(即"else if"的缩写)来简化嵌套if语句。elif语句用于处理多种情况,而不是简单的二选一。

  • 语法

    if 条件表达式1:语句块1
    elif 条件表达式2:语句块2
    else:语句块3
    

    程序会从上到下依次检查每个条件表达式,当遇到第一个为True的条件时,执行对应的语句块,其他条件将被忽略。如果没有一个条件为True,则执行else部分。

4.2 示例

  • 示例4:根据成绩打分

    score = 85
    if score >= 90:print("Grade: A")
    elif score >= 80:print("Grade: B")
    elif score >= 70:print("Grade: C")
    elif score >= 60:print("Grade: D")
    else:print("Grade: F")
    

    在这个示例中,根据score的值逐层判断其所在的分数区间,并最终输出对应的等级。

4.3 实践场景

  • 用于简化多重条件判断场景。例如根据用户输入的指令或菜单选项做不同的操作。
  • 处理多个选项的场景,如计算机中的菜单操作、打分系统等。

五、总结

在这篇文章中,我们详细介绍了Python中的基本程序控制结构,包括if单分支、if-else双分支、嵌套结构和elif多分支结构。控制结构在编写具有逻辑性的程序时是至关重要的,它允许程序根据不同的条件执行不同的操作。

http://www.lryc.cn/news/468038.html

相关文章:

  • 【ppq install】
  • 3DGS相关方法conda环境配置
  • python画图|曲线动态输出
  • 电子商务类型
  • vue elementui el-table实现增加行,行内编辑修改
  • 1. Redis简介与安装
  • Redis的持久化存储和集群管理操作
  • Auto-encoder(自编码器)
  • Vue+sortable+el-table表格排序使用指南
  • 表数据删一半,为什么表文件大小不变?
  • MoCoOp: Mixture of Prompt Learning for Vision Language Models
  • YOLOv8 onnx 部署
  • 在文件里引用目录文件下的静态资源图片不显示
  • vue使用 jsplumb 生成流程图
  • 攻坚金融关键业务系统,OceanBase亮相2024金融科技大会
  • 《纳瓦尔宝典:财富和幸福指南》读书随笔
  • C++ | STL | 侯捷 | 学习笔记
  • C函数基础
  • html和css实现页面
  • Github_以太网开源项目verilog-ethernet代码阅读与移植(八)——移植工程分享
  • 【大模型实战篇】大模型分词算法BPE(Byte-Pair Encoding tokenization)及代码示例
  • 低功耗4G模组LCD应用示例超全教程!不会的小伙伴看这篇就够了!
  • Java while语句练习 C语言的函数递归
  • illustrator免费插件 截图识别文字插件 textOCR
  • 提升数据管理效率:ETLCloud与达梦数据库的完美集成
  • 头歌——人工智能(搜索策略)
  • gorm.io/sharding改造:赋能单表,灵活支持多分表策略(下)
  • 域渗透AD渗透攻击利用 MS14-068漏洞利用过程 以及域渗透中票据是什么 如何利用
  • C++进阶-->继承(inheritance)
  • 可视化项目 gis 资源复用思路(cesium)