【Python从入门到进阶】9、流程控制语句-条件语句(if-else)

news/2024/4/25 13:18:04/文章来源:https://blog.csdn.net/u013517797/article/details/129229563

接上篇《8、Python的输入输出》
上一篇我们学习了Python的输入和输出相关内容。本篇我们来学习Python的控制流语句。

一、流程控制语句的含义

之前我们分别学习过“变量及数据类型”、“运算符”,其中“变量及数据类型”相当于我们学习自然语言中的“字”,而“运算符”类似于相应的自然语言中的“词”,本篇我们要学习的“流程控制语句”,就是一个完整的“句子”甚至是一篇完整的“作文”。

官方释义:通过流程控制语句可以改变程序的执行顺序,也可以让指定的程序反复执行多次。流程控制语句在Python中包括三个部分。顺序执行语句、条件语句(if/else)和循环语句(for/while),如下图所示:

下面我们来一一学习它们。

二、if判断语句

if语句用于控制程序的执行,判断条件是否成立,根据条件的判断结果,选择相应执行的分支。

(1)基本if/else语句

基本形式为if/else:

if 判断条件:  执行的代码块1  
else:  执行的代码块2  

执行的流程是:当表达式的布尔值为真时,执行代码块1,为假时执行代码块2。
注意,冒号的下一行的缩进(四个空格)必须存在,用来标识执行代码的归属,两个代码块只能有一个被执行,这取决于哪个分支的条件成立。
如果没有else,或不用处理else的判断结果,则只需要判断if即可,语法为:

if 判断条件:执行的代码块1

示例:

# if中的条件成立,就执行冒号下的语句,否则执行else下的
age = 18
if age >= 18:# if和else下面的代码,必须是一个Tab键,或者4个空格print("我已经成年了")
else:print("我还未成年")

运行结果:

示例:

# if中的条件成立,就执行冒号下的语句,否则执行else下的
age = 16
if age >= 18:# if和else下面的代码,必须是一个Tab键,或者4个空格print("我已经成年了")
else:print("我还未成年")

运行结果:

(2)if嵌套语句

有时候,一个条件成立无法满足需求,需要用多重判断,那么就要用到if嵌套语句,基本形式如下:

if 判断条件1:  # 代码块1,其内部的if语句无论多复杂,都属于代码块1if 分支条件1:  # 分支条件执行的分支代码块1.1  # 如果该分支条件成立,执行的代码块else:  执行的分支代码块1.2  # 分支条件不成立执行的代码块
else:  # 代码块2,当代码块1条件不成立时执行的代码块执行的代码块2  

示例:

if 有疫情:if 疫情严重:戴N95口罩else:  戴普通医学口罩
else:不戴口罩

执行过程:上述逻辑就是根据是否有疫情判断,如果没有疫情,则执行第6行的else。而如果有疫情这个条件成立,程序就进入代码块1中,此时,程序会再次判断根据子条件作出判断,疫情是否严重,如果严重,则戴N95口罩,否则戴普通医学口罩。执行过程如下图所示:

注意:if语句的嵌套不易过多,这样会降低代码的可读性。

(3)elif语句

elif语句主要用于在else的情况下,判断另一种情况。
这里我们举一个例子,例如下面这个成绩情况判断的逻辑:

score = int(input("请输入你的分数:"))if score>=90:print("优秀")
if score>=80:print("良好")
if score>=70:print("中等")
if score>=60:print("及格")
if score<60:print("不及格")

我们执行后,输入90分,想得到的是“优秀”,但是结果却是:

这是因为单条if条件只要判断成立,就会执行后面的代码块,不受前面的if语句结果影响,你可以理解为每个if语句是独立的一行,你只是重复写了不同条件的if来进行分别判断而已。

这时我们要通过elif语句来将判断分隔并延续判断,即不满足if条件后进入else且立刻进入下一个新的if判断,如果已经满足if条件,则不会再进入elif的代码块,这样就避免上面的重复判断,优化后代码:

score = int(input("请输入你的分数:"))if score>=90:print("优秀")
elif score>=80:print("良好")
elif score>=70:print("中等")
elif score>=60:print("及格")
elif score<60:print("不及格")

效果:

至此,有关Python的流程控制语句的条件语句(if/else)的内容就讲解完毕了,下一篇我们继续来学习流程控制语句中的循环语句(for/while)。

参考:尚硅谷Python爬虫教程小白零基础速通教学视频

转载请注明出处:https://blog.csdn.net/acmman/article/details/129229563

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

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

相关文章

一文让你彻底理解Linux内核调度器进程优先级

一、前言 本文主要描述的是进程优先级这个概念。从用户空间来看&#xff0c;进程优先级就是nice value和scheduling priority&#xff0c;对应到内核&#xff0c;有静态优先级、realtime优先级、归一化优先级和动态优先级等概念。我们希望能在第二章将这些相关的概念描述清楚。…

超算中心、并行计算

现在超算中心已经迅速发展 合肥&#xff1a; 合肥先进中心 合肥曙光超算中心平台 合肥安徽大学超算中心 合肥中科大超算中心 合肥中科院超算中心 合肥大一点的公司都会有自己的集群&#xff0c; 超算中心又称为集群&#xff0c;一般集群是小型服务器组成&#xff0c;超…

【软件测试】从功能到自动化测试,测试人的进阶之路细节,这些必不可少......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 测试流程&#xff0…

RIP路由协议的更新(电子科技大学TCP/IP第二次实验)

一&#xff0e;实验目的 1、掌握 RIP 协议在路由更新时的发送信息和发送方式 2、掌握 RIP 协议的路由更新算法 二&#xff0e;预备知识 1、静态路由选择和动态路由选择 2、内部网关协议和外部网关协议 3、距离向量路由选择 三&#xff0e;实验原理 RIP 协议&#xff08…

【OC】块初识

Block简介 Blocks是C语言的扩充功能。可以用一句话来表示Blocks的扩充功能&#xff1a;带有自动变量的匿名函数。 匿名函数 所谓匿名函数就是不带有名称的函数。C语言的标准不允许存在这样的函数。例&#xff1a; int func(int count);它声明了名称为func的函数。下面的源代…

C++---线性dp---传纸条(每日一道算法2023.2.26)

注意事项&#xff1a; 本题dp思路与 “线性dp–方格取数” 一致&#xff0c;下方思路仅证明为什么使用方格取数的思路是正确的。 题目&#xff1a; 小渊和小轩是好朋友也是同班同学&#xff0c;他们在一起总有谈不完的话题。 一次素质拓展活动中&#xff0c;班上同学安排坐成…

3.7寸按键翻页工牌

产品参数 产品型号 ESL_BWR3.7_BLE 产品尺寸 (mm) 62.51066.5 显示技术 E ink 显示区域 (mm) 47.32(H)81.12(V) 分辨率 (像素) 280480 像素尺寸(mm) 0.1690.169 150dpi 显示颜色 黑/白 视觉角度 180 工作温度 0℃ - 50℃ 电池 500mAh ( Type-C 充电…

Overleaf推广奖励:增加合作者的数量、解锁Dropbox同步和项目修改历史

Overleaf推广奖励 Overleaf是一个LaTeX\LaTeXLATE​X在线编译器&#xff0c;它可以让你与合作者共同在线编辑文档。但是默认的免费账号仅能邀请一个合作者。那么如何增加合作者的数量呢&#xff1f; Overleaf推出了一个奖励计划&#xff0c;你邀请其他人注册Overleaf&#xf…

java地图导出——添加经纬线

概述 前面的文章Node实现切片的拼接和地图的导出和Java实现地图的导出分别讲述可如何在node和java中实现切片的拼接以及地图的导出。本文&#xff0c;书接前文&#xff0c;实现java导出时经纬度的添加。 实现后效果 实现 完整的实现思路流程如下图&#xff1a; 1. 根据切片…

数据挖掘概述

目录1、数据挖掘概述2、数据挖掘常用库3、模型介绍3.1 分类3.2 聚类3.3 回归3.4 关联3.5 模型集成4、模型评估ROC 曲线5、模型应用1、数据挖掘概述 数据挖掘&#xff1a;寻找数据中隐含的知识并用于产生商业价值 数据挖掘产生原因&#xff1a;海量数据、维度众多、问题复杂 数…

macOS使用CodeRunner快速配置fortran环境

个人网站:xzajyjs.cn 由于一些项目的缘故&#xff0c;需要有fortran的需求&#xff0c;但由于是M1 mac的缘故&#xff0c;不能像windows那样直接使用vsivf这种经典配置。搜了一下网上主流的跨平台方案&#xff0c;主要是gfortran&#xff0c;最近用Coderunner&#xff08;主要…

MyBatis——增删改查操作的实现

开启mybatis sql日志打印 可以在日志中看到sql中执行的语句 在配置文件中加上下面这几条语句 mybatis.configuration.log-implorg.apache.ibatis.logging.stdout.StdOutImpl logging.level.com.example.demodebug查询操作 根据用户id查询用户 UserMapper&#xff1a; User…

Elasticsearch7.8.0版本进阶——自定义分析器

目录一、自定义分析器的概述二、自定义的分析器的测试示例一、自定义分析器的概述 Elasticsearch 带有一些现成的分析器&#xff0c;然而在分析器上 Elasticsearch 真正的强大之 处在于&#xff0c;你可以通过在一个适合你的特定数据的设置之中组合字符过滤器、分词器、词汇单 …

Lighthouse组合Puppeteer检测页面

如上一篇文章lighthouse的介绍和基本使用方法结尾提到的一样&#xff0c;我们在实际使用Lighthouse检测页面性能时&#xff0c;通常需要一定的业务前置条件&#xff0c;比如最常见的登录操作、如果没有登录态就没有办法访问其他页面。再比如有一些页面是需要进行一系列的操作&a…

傻瓜式minio使用指南

傻瓜式minio使用指南1. docker部署minio1.1 docker拉取minio镜像1.2 创建docker容器1.3 查看docker容器是否启动正常2.登陆minio2.1 账户、密码为原先设置minioadmin2.2 创建桶2.3 设置桶属性3.Java客户端使用3.1引入依赖3.2 使用3.3 结果1. docker部署minio 1.1 docker拉取mi…

C语言几种判断语句简述

C 判断 判断结构要求程序员指定一个或多个要评估或测试的条件&#xff0c;以及条件为真时要执行的语句&#xff08;必需的&#xff09;和条件为假时要执行的语句&#xff08;可选的&#xff09;。 C 语言把任何非零和非空的值假定为 true&#xff0c;把零或 null 假定为 fals…

Linux系统下搭建maven环境

文章目录前述从官网下载安装包安装 maven修改maven配置修改环境变量测试前述 安装 maven 环境前&#xff0c;需要先安装 java 环境&#xff0c;如果没有安装 java 环境&#xff0c;可以参考&#xff1a;https://blog.csdn.net/weixin_45583303/article/details/118631855 从官…

【力扣周赛#334】6369. 左右元素和的差值 + 6368. 找出字符串的可整除数组 + 6367. 求出最多标记下标

目录 6369. 左右元素和的差值 - 前缀后缀和 ac 6368. 找出字符串的可整除数组 - 操作余数ac 6367. 求出最多标记下标 - 二分答案 贪心 6369. 左右元素和的差值 - 前缀后缀和 ac class Solution {public int[] leftRigthDifference(int[] nums) {int nnums.length;int[] re…

【JavaWeb】复习重点内容

✅✅作者主页&#xff1a;&#x1f517;孙不坚1208的博客 &#x1f525;&#x1f525;精选专栏&#xff1a;&#x1f517;JavaWeb从入门到精通&#xff08;持续更新中&#xff09; &#x1f4cb;&#x1f4cb; 本文摘要&#xff1a;本篇文章主要分享JavaWeb的学习重点内容。 &a…

QT之OpenGL混合

QT之OpenGL混合1. 概述2. 实现2.1 丢弃片段2.1.1 Demo2.2 混合2.2.1 相关函数2.2.2 排序问题2.2.3 Demo1. 概述 OpenGL中&#xff0c;混合(Blending)通常是实现物体透明度(Transparency)的一种技术。 2. 实现 2.1 丢弃片段 在某些情况下&#xff0c;有些片段是只需要设置显…