【Python基础】条件控制语句

news2024/12/28 4:55:28

本文收录于 《Python编程入门》专栏,从零基础开始,分享一些Python编程基础知识,欢迎关注,谢谢!

文章目录

    • 一、前言
    • 二、Python 条件控制语句
        • 2.1 if语句
        • 2.2 if-else语句
        • 2.3 if-elif-else语句
        • 2.4 if语句的嵌套
        • 2.5 match-case语句(Python 3.10及以上版本)
    • 三、总结

一、前言

在编程语言中,条件控制语句是实现逻辑判断和程序流程控制的基础工具。Python作为一种高级编程语言,提供了简洁而强大的条件控制语句,使得程序可以根据不同的条件执行不同的代码块。

本文将详细介绍Python中的条件控制语句,包括if语句、if-else语句、if-elif-else语句以及相关的嵌套结构和高级特性。

  • 什么是Python?

    Python是由荷兰人吉多·范罗苏姆于1990年初设计的一门高级编程语言,该语言应用领域非常广泛,尤其在数据科学、人工智能、游戏开发等领域,它已经成为最受欢迎的程序设计语言之一,非常适合新手学习。

    Python语言标准库官方使用手册:https://docs.python.org/zh-cn/3/library/turtle.html#turtle-methods

  • Python语言有哪些特点?

    1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。

    2.易于阅读:Python代码定义的更清晰。

    3.易于维护:Python的成功在于它的源代码是相当容易维护的。

    4.丰富的库:Python的最大的优势之一具有丰富的标准库,并且跨平台的,在UNIX,Windows和Mac兼容很好。

    5.面向对象:Python支持面向对象编程,在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。

    6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。

    7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。

    8.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。

    在这里插入图片描述

二、Python 条件控制语句

2.1 if语句

if语句是Python中最基本的条件判断语句。它根据一个条件的真假来决定是否执行特定的代码块。

其语法结构如下:

if condition:
    # 执行的代码块
    statement1
    statement2
    ...

在执行时,Python首先对condition进行求值。如果结果为True,则执行if后面的代码块;如果结果为False,则跳过该代码块,继续执行后续的代码。

例如:

age = 22
if age >= 18:
    print("您已经成年了。")
2.2 if-else语句

if-else语句在if语句的基础上增加了当条件不满足时要执行的备选代码块。

其语法结构如下:

if condition:
    # 条件为True时执行的代码块
    statement1
    statement2
    ...
else:
    # 条件为False时执行的代码块
    statement3
    statement4
    ...

当condition为True时,执行if后面的代码块;如果为False,则执行else后面的代码块。

例如:

age = 16
if age >= 18:
    print("您可以参加选举。")
else:
    print("您还未成年,不能参加选举。")
2.3 if-elif-else语句

if-elif-else语句允许我们在多个条件之间进行选择。其中,elif是“else if”的缩写,表示如果前一个条件不满足,则继续判断下一个条件。

其语法结构如下:

if condition1:
    # 条件1为True时执行的代码块
    statement1
    statement2
    ...
elif condition2:
    # 条件1为False且条件2为True时执行的代码块
    statement3
    statement4
    ...
elif condition3:
    # 条件1和条件2为False且条件3为True时执行的代码块
    statement5
    statement6
    ...
else:
    # 所有条件均为False时执行的代码块
    statement7
    statement8
    ...

Python会自上而下依次对条件进行求值,一旦某个条件为True,就执行对应的代码块,然后跳出整个if-elif-else结构。如果所有条件均为False,则执行else后面的代码块。

例如:

age = 25
if age < 18:
    print("您是未成年人。")
elif age < 30:
    print("您是青年人。")
else:
    print("您是成年人。")
2.4 if语句的嵌套

在Python中,可以在if语句中再嵌入另一个if语句,形成嵌套结构。这种结构允许我们在更细致的层次上进行条件判断。

语法结构如下:

if condition1:
    if condition2:
        # 条件1和条件2均为True时执行的代码块
        statement1
        statement2
        ...
    else:
        # 条件1为True且条件2为False时执行的代码块
        statement3
        statement4
        ...
else:
    # 条件1为False时执行的代码块
    statement5
    statement6
    ...

嵌套if语句可以根据更复杂的逻辑进行判断,使得程序更加灵活。

例如:

age = 25
is_student = True

if age >= 18:
    print("您已经成年了。")
    if is_student:
        print("您是学生,可以享受折扣价。")
    else:
        print("您不是学生,需要支付全价。")
else:
    print("您还未成年,不能参加此活动。")

2.5 match-case语句(Python 3.10及以上版本)

在Python 3.10及以后的版本中,引入了match-case语句,它提供了一种更简洁和可读性更好的方式来进行模式匹配。match-case结构类似于其他语言中的switch语句,根据不同的模式执行不同的代码块。

其语法结构如下:

match subject:
    case pattern1:
        # 模式1匹配时执行的代码块
        statement1
        statement2
        ...
    case pattern2:
        # 模式2匹配时执行的代码块
        statement3
        statement4
        ...
    case _:
        # 默认情况,所有模式都不匹配时执行的代码块
        statement5
        statement6
        ...

match-case语句通过匹配不同的模式来决定执行哪个代码块。每个case子句包含一个模式和相应的代码块。如果没有任何模式匹配,则执行case _(下划线)后面的代码块。

例如:

def check_grade(grade):
    match grade:
        case "A":
            print("优秀")
        case "B":
            print("良好")
        case "C":
            print("及格")
        case "D":
            print("不及格")

check_grade("A")    # 输出:优秀
check_grade("B")    # 输出:良好
check_grade("C")    # 输出:及格
check_grade("D")    # 输出:不及格

三、总结

Python中的条件控制语句提供了强大的逻辑判断功能,使得程序可以根据不同的条件执行不同的操作。if语句、if-else语句、if-elif-else语句以及match-case语句构成了Python条件控制的基础。通过这些语句,我们可以实现复杂的逻辑判断和流程控制,从而编写出功能丰富的程序。

如果您对文章中内容有疑问,欢迎在评论区进行留言,我会尽量抽时间给您回复。如果文章对您有帮助,欢迎点赞、收藏。您的点赞,是对我最大的支持和鼓励,谢谢 :-)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

P3631 [APIO2011] 方格染色

~~~~~ P3631 [APIO2011] 方格染色 ~~~~~ 总题单链接 思路 ~~~~~ 用 1 1 1表示红色&#xff0c; 0 0 0 表示蓝色&#xff0c; c o l [ i ] [ j ] col[i][j] col[i][j] 表示第 i i i 行&#xff0c;第 j j j 列的颜色。发现 i ≥ 2 , j ≥ 2 i\geq 2,j\geq 2 i≥2,j≥2 时&…

机器人领域顶级期刊会议盘点

顶级会议 International Conference on Robotics and Automation (ICRA) IEEE International Conference on Intelligent Robots and Systems (IROS) Robotics: Science and Systems (RSS) IEEE/RSJ International Conference on Human-Robot Interaction (HRI) 顶级期刊 …

Spring Boot项目中集成JWT进行身份验证

什么是JWT? JWT&#xff08;JSON Web Token&#xff09;是一种开放标准&#xff08;RFC 7519&#xff09;&#xff0c;用于在网络应用环境中安全地传递信息。它主要用于在客户端和服务器之间传递经过签名的 JSON 数据&#xff0c;以确保数据的完整性和真实性。 1.JWT 的结构…

2024国赛数学建模C题思路模型

完整的思路模型请查看文末名片

java项目热部署

idea java项目热部署

实验三 数组和字符串的使用

实验目的及要求 目的&#xff1a; 了解多维数组的创建和使用&#xff0c;掌握一维数组和二维数组的创建和使用及String和StringBuffer类的创建方法&#xff0c;掌握String类中常用方法的使用&#xff0c;掌握String类中equals()方法和””的区别&#xff0c;区分数组的length…

learn C++ NO.12——vector

前言 不知何时开始产生了不更新博客的习惯&#xff0c;开始编程学习也过了两年多了。恍惚了一个阶段&#xff0c;我觉得是时候恢复博客产出了&#xff0c;我认为写博客是一种好的学习的方式&#xff0c;不仅可以让你对已经学习过的知识又一遍回顾&#xff0c;还记录了你编程学…

2024年全国大学生数学建模竞赛(A题) 建模解析|“板凳龙” 闹元宵|小鹿学长带队指引全代码文章与思路

我是鹿鹿学长&#xff0c;就读于上海交通大学&#xff0c;截至目前已经帮200人完成了建模与思路的构建的处理了&#xff5e; 本篇文章是鹿鹿学长经过深度思考&#xff0c;独辟蹊径&#xff0c;实现综合建模。独创复杂系统视角&#xff0c;帮助你解决国赛的难关呀。 完整内容可以…

React学习-hooks

官方文档&#xff1a;https://zh-hans.react.dev/reference/react/useActionState 1.useEffect useEffect(setup, dependencies?) 1.1 基础使用 //hooks import { useEffect } from "react"; import "./App.css";function App(){useEffect(()>{con…

kaggle注册收不到验证码、插件如何下载安装

综合这三个来看&#xff0c; 1.插件下载用的大佬给的分享链接 2.下载好压缩包以后需要解压缩 Header Editor插件网盘下载安装教程 - 哔哩哔哩 (bilibili.com) 3.安装插件时没找到crx文件&#xff0c;在浏览器插件界面点击“加载解压缩的扩展” 4.复制网址到插件里&#xff…

基于IDEA快速重构代码的几种方式

文章目录 1. 方法重构1.1 操作方式1.2 优化方式 2. 类重构2.1 操作方式2.2 优化方式 3. 基于代码分析重构3.1 操作方式 4 基于重复代码重构4.1 操作方式 本篇主要基于AI工具 TONGYI Lingma, 静态代码分析工具 Qodana 进行讨论 1. 方法重构 当你对某个封装的方法不满意时, 借助…

在js渲染的dom中的事件中传递对象

在某些情况下&#xff0c;可能需要将整个对象或部分对象嵌入到 HTML 元素的属性中&#xff0c;可以将对象数据序列化为 JSON 字符串&#xff0c;存储在 data-* 自定义属性中。这样可以在事件中取出并解析对象数据&#xff1a; <!DOCTYPE html> <html lang"en&qu…

Ubuntu Python与GitHub API 交互,获取仓库更新信息

1. 获取 GitHub 个人访问令牌 登录 GitHub &#xff0c;首先使用帐户登录 GitHub 在 GitHub 页面右上角点击头像&#xff0c;然后选择 “Settings” 在左侧菜单栏滚动到最下方&#xff0c;找到并点击 “Developer settings” 在 “Developer settings” 页面中&#xff0c…

【笔记】数据结构08

文章目录 最小堆的构建 另一个树的子树找树左下角的值 折半查找的平均查找长度[顺序表] 画出折半查找树将关键字按完全二叉树形式画出查找树 l o g 2 n 1 log_2n1 log2​n112个结点画出高度为4的查找树 1层1个节点比较1次&#xff0c;2层2个节点比较2次&#xff0c;3层4个节点…

2024年高教杯国赛(A题)碰撞检测模型+最优螺距|数学建模竞赛解题思路|完整代码论文集合

我是Tina表姐&#xff0c;毕业于中国人民大学&#xff0c;对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在&#xff0c;我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…

计算机,数学,AI在社会模拟中的应用

国家智囊团会使用社会模拟器来预测社会动向和一些问题的涌现&#xff0c;亚洲社会仿真学会&#xff08;ASSA&#xff09;最近在武汉成立&#xff0c;旨在推动大型社会模拟器的研发和应用。 未来随着计算机算力的提升以及人工智能的进化&#xff0c;我们每个人都可能在计算机中被…

如何通过学习英语,打出人生的‘王炸’?

如何通过学习英语&#xff0c;打出人生的‘王炸’&#xff1f; 每个人都渴望一张“王炸”牌&#xff0c;能瞬间改变人生的走向。有的人通过天赋&#xff0c;有的人依靠机遇&#xff0c;而今天我们要探讨的&#xff0c;是通过学习英语打出人生“王炸”的真实故事。英语&#xf…

DB2创建数据库-创建用户-赋值权限-导入数据

这篇文章主要内容以下几点&#xff1a; 1&#xff09;创建数据库 2&#xff09;创建用户 3&#xff09;给用户赋权限 4&#xff09;导入准备好的建表语句和数据 一、创建数据库 安装DB2数据库软件&#xff0c;在我另一篇文章写有&#xff0c;自己查看。这里不讲解安装。假设你…

react 使用Ant Design中DatePicker设置mode=“year“无法获取value

一、问题描述 <DatePicker placeholder"请选择年份" mode"year" onChange{this.onChange}/>// 使用上边代码&#xff0c;界面呈现出只有年份的选择器。但是&#xff0c; onChange 事件根本不会触发&#xff0c;获取不了值&#xff01;二、解决办…

【系统架构设计师-2011年】综合知识-答案及详解

更多内容请见&#xff1a; 备考系统架构设计师-核心总结索引 文章目录 【第1题】【第2~4题】【第5~7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18~19题】【第20~21题】【第22题】【第23题】【第24题】【第2…