「Python程序设计」条件控制:if-elif-else语句

我们在进行程序设计的过程中,基本上遵循的过程是,找出变量和常量,通过python编程语言,设置变量和常量,以及考虑是否需要赋予初始值。

设计变量和常量,其实就是为了模拟和计算我们的现实世界中,需要进行计算的实体。

比如说,我们要计算人口数量,那我们先要定义一个人员的变量,比如说是person。然后把要计算的范围内的person变量,依次相加,最后得出我们需要的人口数量信息,这个是设计变量和常量的过程。

还有些时候,我们需要对参与计算的变量,进行判断。让符合要求的部分,进入到我们的计算过程,这就是条件控制的过程。

比如说,我们在计算人口数量的时候,只想计算性别为男性的这部分数据,得出男性的总人口数量。那我们就需要对person变量,进行判断,如果是男性,就参加计算。如果是女性,或者是异常值的话,就不参加计算。

在日常的程序设计过程中,条件控制是一个经常使用的,用来判断变量和常量是否符合我们计算的需求,是我们对程序进行自由掌控的基础。

我们的程序设计,和程序开发,基本上就是一个计算和控制的过程。通过计算和控制,得出我们所需要的结果。

Python条件语句的执行过程

Python 条件语句是通过一条,或多条语句的执行结果(True 或者 False)来决定执行的代码块。

可以通过下图来简单了解条件语句的执行过程。

以上过程,其实我们可以通过一句话来加深理解,那就是:如果,那么,否则。比如说,如果person是男人(true),那么汇总变量加1,否则(false)结束。

代码的执行过程,如下图所示。

这是用伪代码表示的条件语句执行过程。

if-elif-else语句

Python中if语句的一般形式如下所示:

if condition_1:

statement_block_1

elif condition_2:

statement_block_2

else:

statement_block_3

1、如果 "condition_1" 为 True 将执行 "statement_block_1" 块语句

2、如果 "condition_1" 为False,将判断 "condition_2"

3、如果"condition_2" 为 True 将执行 "statement_block_2" 块语句

4、如果 "condition_2" 为False,将执行"statement_block_3"块语句

Python 中用 elif 代替了 else if ,所以if语句的关键字为:if -- elif -- else

注意:

1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。

2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。

3、在 Python 中没有 switch...case 语句,但在 Python3.10 版本添加了 match...case,功能也类似。

以下是一个简单的 if 实例:

这里我们需要注意,if后面紧跟着的变量var1和var2,是通过0和非0来进行判断的,也就是非0的话(这里是var1设置为100),表示true,等于0的话,则是false。

所以,第一个if语句,判断是true,执行了过程。第二个if语句,判断是false,直接跳出过程,执行过程外的语句。

if 语句常用操作符

以下为if中常用的操作运算符:

等于号操作符演示

if 嵌套

在嵌套 if 语句中,可以把 if...elif...else 结构放在另外一个 if...elif...else 结构中,如下所示。

if 表达式1: 语句 if 表达式2: 语句 elif 表达式3: 语句 else: 语句 elif 表达式4: 语句 else: 语句

if 嵌套语句演示

这里我输入的num变量的值是9。

以上就是本篇文章的全部内容。

相关推荐
冰暮流星2 分钟前
javascript建立对象之构造函数
开发语言·javascript·ecmascript
张哈大2 分钟前
MCP:重塑AI工具调用的统一标准,告别重复造轮子的时代
人工智能·python·ai·prompt
极光代码工作室3 分钟前
基于深度学习的智能图像识别平台
python·深度学习·机器学习·ai·系统设计
copyer_xyf8 分钟前
Python 文件基本操作
前端·后端·python
keykey6.8 分钟前
PyTorch 入门实战:从张量到训练循环
开发语言·人工智能·深度学习·机器学习
嘶哈哈哈10 分钟前
# SolidWorks 启动提示“无法获得下列许可 SOLIDWORKS Standard”的解决思路
python
消失的旧时光-194312 分钟前
Kotlin 协程设计思想(七):为什么 Kotlin 要设计 SupervisorJob 和 supervisorScope?
android·开发语言·kotlin
Full Stack Developme15 分钟前
SpringMVC multipart 文件上传
java·开发语言
得一录16 分钟前
ModuleNotFoundError: No module named ‘llama_index.llms
开发语言·人工智能
zh路西法16 分钟前
【rosbridge-websocket】跨网络的ROS1与ROS2通讯法(上)
linux·网络·c++·python·websocket·网络协议