Python学习:条件控制

Python条件控制概念

条件控制是编程中的一个重要概念,用于根据不同情况执行不同的代码逻辑。在Python中,条件控制通常使用if语句来实现。if语句的基本语法如下:
在这里插入图片描述

if 条件:
    执行语句
elif 其他条件:
    执行语句
else:
    执行语句

其中,if语句会根据条件的真假来决定执行哪一部分代码。如果条件为真,则执行if块中的代码;如果条件为假,但有elif语句且满足条件,则执行对应elif块中的代码;如果都不满足,则执行else块中的代码。

另外,在Python中,条件可以使用比较运算符(如==、!=、<、>、<=、>=)和逻辑运算符(如and、or、not)进行组合。例如:

x = 5
if x > 0 and x <= 10:
    print("x在1到10之间")
elif x > 10:
    print("x大于10")
else:
    print("x小于等于0")

示例演示了如何根据变量x的取值范围输出不同的结果。

Python条件控制if 语句

if语句是Python中用于实现条件控制的重要语句,通过判断条件的真假来确定执行哪部分代码。以下是if语句的详解和各种用法:

基本语法:

if 条件:
    执行语句

如果条件为True,则执行相应的执行语句;如果条件为False,则跳过这段代码块。

例子:

x = 10
if x > 5:
    print("x大于5")

上述代码检查变量x是否大于5,如果是,则打印"x大于5"。

if-else语句:

if 条件:
    执行语句1
else:
    执行语句2

在条件为真时执行语句1,否则执行语句2。

例子:

x = 3
if x % 2 == 0:
    print("x是偶数")
else:
    print("x是奇数")

上述代码根据变量x的余数判断其是偶数还是奇数,并输出相应结果。

if-elif-else语句:

if 条件1:
    执行语句1
elif 条件2:
    执行语句2
elif 条件3:
    执行语句3
...
else:
    执行语句N

根据不同的条件选择不同的执行语句,只有当条件为真时才会执行对应的代码块,可以设置多个elif语句,最后一个else语句是可选的。

例子:

x = 7
if x < 0:
    print("x是负数")
elif x == 0:
    print("x为零")
elif x > 0 and x < 10:
    print("x是一个位数的正数")
else:
    print("x是一个多位数")

上述代码根据变量x的值输出相应的结果。

在Python中,使用冒号(:)来结束条件语句的头部,并使用缩进来指示执行语句的块。缩进需保持一致,通常使用4个空格或一个制表符。

除了基本的if语句外,还可以使用条件表达式、嵌套的if语句等进行更复杂的条件控制。

Python条件控制if 嵌套

在这里插入图片描述

if语句可以嵌套在其他if语句中,实现更复杂的条件控制。嵌套if语句的基本语法如下:

if 条件1:
    # 执行语句1
    
    if 条件2:
        # 执行语句2
    else:
        # 执行语句3

else:
    # 执行语句4

嵌套if语句中的第二个if语句可以有自己的条件和执行语句。根据条件1是否满足,选择执行语句1或执行语句4,如果条件1成立且条件2也成立,则执行语句2,否则执行语句3。

以下是一个示例:

x = 10
y = 5

if x > y:
    print("x大于y")
    
    if y != 0:
        result = x / y
        print("x除以y的结果为:", result)
    else:
        print("y不能为0")
        
else:
    print("x不大于y")

上述代码检查了两个变量x和y的关系,如果x大于y,则输出"x大于y"并进一步判断y是否为0。如果y不为0,则计算x除以y的结果并输出;如果y为0,则输出"y不能为0"。如果x不大于y,则输出"x不大于y"。

注意:嵌套的if语句必须使用正确的缩进来表示层次关系,确保代码易读且逻辑正确。嵌套if语句可以多层嵌套,但要避免过度复杂的嵌套结构,以免代码难以理解和维护。

Python条件控制match…case

在Python中,从版本3.10开始,引入了新的匹配模式(match-case)语法。匹配模式类似于其他语言中的switch语句,可以简洁地处理多个条件分支。

下面是Python中使用match-case语法的基本语法:

match 变量:
    case 模式1:
        # 执行语句1
    case 模式2:
        # 执行语句2
    ...
    case _:
        # 默认情况下的执行语句

在上面的语法中:

  • match关键字用于指定要匹配的变量。
  • case关键字后面跟着一个模式,用于匹配变量的值或结构。
  • : 用于结尾,并且执行语句块需要缩进。

下面是一个简单的示例来说明如何使用match-case语法:

def calculate(x, y, operator):
    result = match operator:
        case '+':
            x + y
        case '-':
            x - y
        case '*':
            x * y
        case '/':
            x / y
        case _:
            print("Invalid operator")
            None
    return result

print(calculate(5, 2, '+'))  # 输出7
print(calculate(8, 4, '-'))  # 输出4
print(calculate(3, 6, '#'))  # 输出Invalid operator 和 None

在上面的示例中,函数calculate接收两个数字和一个运算符,根据运算符选择相应的操作并返回结果。match语句将运算符与每个case后面的模式进行匹配,执行相应的代码块。

需要注意的是,如果没有匹配到任何case,则会执行case _:中的默认情况下的代码块。

match-case语法可以帮助简化对多个条件分支的处理,使代码更加清晰和容易理解。

关注我,不迷路,共学习,同进步

关注我,不迷路,共学习,同进步

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/488502.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2016年认证杯SPSSPRO杯数学建模C题(第二阶段)如何有效的抑制校园霸凌事件的发生全过程文档及程序

2016年认证杯SPSSPRO杯数学建模 C题 如何有效的抑制校园霸凌事件的发生 原题再现&#xff1a; 近年来&#xff0c;我国发生的多起校园霸凌事件在媒体的报道下引发了许多国人的关注。霸凌事件对学生身体和精神上的影响是极为严重而长远的&#xff0c;因此对于这些情况我们应该…

网络七层模型之网络层:理解网络通信的架构(三)

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

基于傅里叶描述子和HSV颜色特征的KNN水果类型识别,Matlab实现

博主简介&#xff1a; 专注、专一于Matlab图像处理学习、交流&#xff0c;matlab图像代码代做/项目合作可以联系&#xff08;QQ:3249726188&#xff09; 个人主页&#xff1a;Matlab_ImagePro-CSDN博客 原则&#xff1a;代码均由本人编写完成&#xff0c;非中介&#xff0c;提供…

【物联网】Qinghub Kafka 数据采集

基础信息 组件名称 &#xff1a; kafka-connector 组件版本&#xff1a; 1.0.0 组件类型&#xff1a; 系统默认 状 态&#xff1a; 正式发布 组件描述&#xff1a;通用kafka连接网关&#xff0c;消费来自kafka的数据&#xff0c;并转发给下一个节点做相关的数据解析。 配置文…

【智能算法】乌鸦搜索算法(CSA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2016年&#xff0c;Askarzadeh等人受到乌鸦觅食自然行为启发&#xff0c;提出了乌鸦搜索算法&#xff08;Crow Search Algorithm, CSA&#xff09;。 2.算法原理 2.1算法思想 CSA模拟了乌鸦进行觅…

CUDA从入门到放弃(四):CUDA 编程模式 CUDA Programming Model

CUDA从入门到放弃&#xff08;四&#xff09;&#xff1a;CUDA 编程模式 CUDA Programming Model 1 Kernels CUDA C 扩展了 C&#xff0c;允许定义名为内核的函数&#xff0c;这些函数可以被不同的 CUDA 线程并行执行多次&#xff0c;而不是像普通 C 函数那样只执行一次。内核…

Python数据结构实验 递归算法设计

一、实验目的 1&#xff0e;掌握递归程序设计的基本原理和方法&#xff1b; 2&#xff0e;熟悉数据结构中顺序表和单链表下的递归算法设计思想&#xff1b; 3&#xff0e;掌握并灵活运用递归算法解决一些较复杂的应用问题。 二、实验环境 1&#xff0e;Windows操作系统的计…

使用JMeter进行梯度压测

使用JMeter进行梯度压测 梯度压测配置如下&#xff1a; 使用线程:5&#xff0c;然后循环5000次&#xff0c;共2.5万个样本使用线程:10&#xff0c;然后循环5000次&#xff0c;共5万个样本使用线程:15&#xff0c;然后循环5000次&#xff0c;共7.5万个样本使用线程:20&#xff…

投资现货黄金有持仓时间限制吗?

投资现货黄金是否有持仓时间限制&#xff1f;这是许多投资者在进入黄金市场前都想要了解的一个问题。实际上&#xff0c;现货黄金交易并没有严格的持仓时间限制。换句话说&#xff0c;投资者可以按照个人的投资策略和市场情况自由决定持有黄金的时间长度。 以下是影响现货黄金持…

数据结构(四)顺序表与链表的深层次讲解

我们在数据结构&#xff08;二&#xff09;&#xff0c;对链表和顺序表已经讲解过了。但很多同学表示有点晦涩难懂那我就出一篇深层次讲解&#xff0c;一步一步来带领大家学习。 我们从头&#xff08;数据结构&#xff09;开始完整的来为大家讲解&#xff0c;大家好好看好好学。…

c语言中函数声明注意点都在这里了

C语言中函数声明主要分为三个大点&#xff1a;函数返回值类型、函数名和参数列表。 一、函数返回值类型 1. 无返回值的函数声明 无返回值的函数声明使用关键字void表示&#xff0c;表示该函数不返回任何值。例如&#xff1a; void print_hello(); // 声明一个无返回值的函数…

【Emgu CV教程】10.5、轮廓之凸包

文章目录 一、什么叫轮廓的凸包二、凸包函数三、二维点集寻找凸包四、绘制物体轮廓的凸包1.原始素材2.代码3.运行结果 一、什么叫轮廓的凸包 凸包是一个更加简化的多边形&#xff0c;是轮廓最外层的“凸”多边形&#xff0c;与前一篇多边形近似拟合不同的是&#xff0c;凸包组…

学生宿舍智能控电柜安装调试技术

学生宿舍智能控电柜安装调试石家庄光大远通电器有限公司宿舍控电限电管理系统是一种用于管理学生宿舍用电的智能系统&#xff0c;主要功能包括: 1.实时监控和控制:该系统能够实时监测和记录宿舍的用电情况&#xff0c;包括电器使用情况、电量消耗等。管理人员可以通过电脑或手机…

数据结构(五)——树与二叉树的应用

5.5 树与二叉树的应用 5.5.1 哈夫曼树 结点的权&#xff1a;有某种现实含义的数值。 结点的带权路径长度&#xff1a;从树的根到该结点的路径长度&#xff08;经过的边数&#xff09;与该结点上权值的乘积。 树的带权路径长度&#xff1a;树中所有叶结点的带权路径长度之和…

FPGA电平标准

1.LVTTL&#xff1a;&#xff08;3.3v&#xff09; 2.LVCOMS&#xff1a;&#xff08;1.8v&#xff09; 3.LVDS&#xff08;1.8v&#xff09;&#xff1a;LVDS_25&#xff08;2.5v&#xff09; 4&#xff1a;如果是ddr3与fpga相连接fpga的vcco推荐&#xff08;1.5v&#xff09;…

【Linux】进程的基本概念(进程控制块,ps命令,top命令查看进程)

目录 01.进程的基本概念 程序与进程 进程的属性 02.进程控制块&#xff08;PCB&#xff09; task_struct的内容分类 组织进程 03.查看进程 ps命令 top指令 在计算机科学领域&#xff0c;进程是一项关键概念&#xff0c;它是程序执行的一个实例&#xff0c;是操作系统的…

【Linux C | 多线程编程】线程的退出

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; ⏰发布时间⏰&#xff1a; 本文未经允许…

第九届蓝桥杯大赛个人赛省赛(软件类)真题C 语言 A 组-乘积尾零

solution 找末尾0的个数&#xff0c;即找有多少对2和5 >问题等价于寻找所给数据中&#xff0c;有多少个2和5的因子&#xff0c;较少出现的因子次数即为0的个数 #include <iostream> using namespace std; int main() {// 请在此输入您的代码printf("31");…

项目3-留言板

1.创建项目 记得将project type改为maven 将需要的包引入其中 更改版本号 引入MYSQL相关包记得进行配置&#xff01;&#xff01;&#xff01; spring:datasource:url: jdbc:mysql://127.0.0.1:3306/mycnblog?characterEncodingutf8&useSSLfalseusername: rootpassword:…

MySQL将id相同的两行数据合并group_concat

MySQL将id相同的两行数据合并 group_concat这个函数能将相同的行组合起来&#xff0c;省老事了。 MySQL中group_concat函数 完整的语法如下&#xff1a; group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符’]) 1.基本查询 Sql代码 2.…