零基础学Python(8)— 流程控制语句(上)

前言:Hello大家好,我是小哥谈。流程控制语句是编程语言中用于控制程序执行流程的语句,本节课就带大家认识下Python语言中常见的流程控制语句!~🌈  

     目录

🚀1.程序结构

🚀2.最简单的if语句

🚀3.if…else语句

🚀4.if…elif…else语句

🚀5.if语句的嵌套

🚀6.条件表达式

🚀1.程序结构

计算机在解决某个具体问题时,主要有3种情形,分别是顺序执行所有的语句选择执行部分语句循环执行部分语句。程序设计中的3种基本结构为顺序结构选择结构循环结构

这3种结构的执行流程如下图所示:👇

其中,第一幅图是顺序结构的流程图,编写完毕的语句按照编写顺序依次被执行;第二幅图是选择结构的流程图,它主要根据条件语句的结果选择执行不同的语句;第三幅图是循环结构的流程图,它是在一定条件下反复执行某段程序的流程结构,其中,被反复执行的语句称为循环体,决定循环是否终止的判断条件称为循环条件


🚀2.最简单的if语句

Python中使用if保留字来组成选择语句,简单的语法格式如下:

if 表达式:语句块

其中,表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式(例如:a > b and a != c),如果表达式为真,则执行“语句块”;如果表达式的值为假,就跳过“语句块”,继续执行后面的语句,这种形式的if语句相当于汉语里的关联词语“如果……就……”,其流程图如下图所示。


🚀3.if…else语句

如果遇到只能二选一的条件,例如,某大学毕业生到知名企业实习期满后留用,现在需要选择Python开发的方向,示意图如下图所示。

Python中提供了if…else语句解决类似问题,其语法格式如下:

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

使用if…else语句时,表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式,如果满足条件,则执行if后面的语句块,否则,执行else后面的语句块,这种形式的选择语句相当于汉语里的关联词语“如果……否则……”,其流程图如下图所示。

注意:if…else语句可以使用条件表达式进行简化,如下面的代码:

a = -9
if a > 0:b = a
else:b = -a
print(b)

 可以简写成:

a = -9
b = a if a>0 else -a
print(b)

上段代码主要实现求绝对值的功能,如果a > 0,就把a的值赋值给变量b,否则将-a赋值给变量b。使用条件表达式的好处是可以使代码简洁,并且有一个返回值。

注意:在使用else语句时,else一定不可以单独使用,它必须和保留字if一起使用,例如,下面的代码是错误的:

else:print(number,"不符合条件")

 程序中使用if…else语句时,如果出现if语句多于else语句的情况,那么该else语句将会根据缩进确定该else语句属于哪个if语句。如下面的代码:

a = -1
if a >= 0:if a > 0:print("a大于0")else:print("a等于0")

上面的语句将不输出任何提示信息,这是因为else语句属于第3行的if语句,所以当a小于0时,else语句将不执行。而如果将上面的代码修改为以下内容:

a = -1
if a >= 0:if a > 0:print("a大于0")
else:print("a小于0")

将输出提示信息“a小于0”。此时,else语句和第2行的if语句配套使用。


🚀4.if…elif…else语句

大家平时在网上购物时,通常都有多种付款方式供大家选择,如下图所示。

图中提供了5种付款方式,这时用户就需要从多个选项中选择一个。在开发程序时,如果遇到多选一的情况,则可以使用if…elif…else语句,该语句是一个多分支选择语句,通常表现为“如果满足某种条件,就会进行某种处理,否则,如果满足另一种条件,则执行另一种处理……”。if…elif…else语句的语法格式如下:

if 表达式1:语句块1
elif 表达式2:语句块2
elif 表达式3:语句块3
…
else:语句块n

使用if…elif…else语句时,表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式,如果表达式为真,执行语句;而如果表达式为假,则跳过该语句,进行下一个elif的判断,只有在所有表达式都为假的情况下,才会执行else中的语句。if…elif…else语句的流程如下图所示。

注意:if和elif都需要判断表达式的真假,而else则不需要判断;另外,elif和else都必须与if一起使用,不能单独使用。

使用if选择语句时,尽量遵循以下原则:

当使用布尔类型的变量作为判断条件时,假设布尔型变量为flag,较为规范的格式如下:

if flag:              # 表示为真
if not flag:         # 表示为假

 不符合规范的格式如下:

if flag == True:
if flag == False:

🚀5.if语句的嵌套

前面介绍了3种形式的if选择语句,这3种形式的选择语句之间都可以互相嵌套。

在最简单的if语句中嵌套if…else语句,形式如下:

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

if…else语句中嵌套if…else语句,形式如下:

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

说明:if选择语句可以有多种嵌套方式,开发程序时,可以根据自身需要选择合适的嵌套方式,但一定要严格控制好不同级别代码块的缩进量。


🚀6.条件表达式

在程序开发时,经常会根据表达式的结果,有条件地进行赋值。例如,要返回两个数中较大的数,可以使用下面的if语句:

a = 10
b = 6
if a>b:r = a
else:r = b

针对上面的代码,可以使用条件表达式进行简化,代码如下:

a = 10
b = 6
r = a if a > b else b

使用条件表达式时,先计算中间的条件(a>b),如果结果为True,返回if语句左边的值,否则返回else右边的值。例如上面表达式中r的值为10。

说明:Python中提供的条件表达式,可以根据表达式的结果进行有条件的赋值。

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

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

相关文章

Linux基础I/O(中)——重定向

重定向 根据上一篇的文章我们知道,文件描述符是什么。 0->stdin; 1->stdout; 2->stderr; 如果我们新打开一个文件的话,该文件描述符为3,如下图: ::“ 如果我先close(1),再打开一个文件,根据之前的…

HGAME 2024 WEEK 1

PWN EzSignIn nc 登录上去即可获得flag hgame{I_HATE_PWN} Web ezHTTP 第一关用Referer,参考:HTTP请求头中Referer的作用_请求转发 请求头里面会有有referer嘛-CSDN博客 HTTP请求中,Referer是header的一部分,当浏览器向web服务…

Java_栈_队列

文章目录 一、栈(Stack)1.概念2.栈的使用3.栈的模拟实现1、定义接口2、定义栈3、成员4、构造方法5、判断空间是否满 full6、入栈 push7、出栈 pop8、获取栈顶元素 peek9、获取栈中有效元素个数 size10、检测栈是否为空 empty完整代码 4.练习1、有效括号2…

Springboot整合JUnit5框架

目录 第一章、在pom文件中导入依赖第二章、新建测试类第三章、新建测试方法 友情提醒: 先看文章目录,大致了解文章知识点结构,点击文章目录可直接跳转到文章指定位置。 第一章、在pom文件中导入依赖 SpringBoot2.2x之后的版本中spring-boot-starter-te…

【leetcode热题100】柱状图中最大的矩形

难度: 困难通过率: 29.6%题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 题目描述 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该…

《学成在线》微服务实战项目实操笔记系列(P1~P83)【上】

史上最详细《学成在线》项目实操笔记系列【上】,跟视频的每一P对应,全系列12万字,涵盖详细步骤与问题的解决方案。如果你操作到某一步卡壳,参考这篇,相信会带给你极大启发。 一、前期准备 1.1 项目介绍 P2 To C面向…

[word] word表格表头怎么取消重复出现? #媒体#笔记#职场发展

word表格表头怎么取消重复出现? word表格表头怎么取消重复出现?在Word中的表格如果过长的话,会跨行显示在另一页,如果想要在其它页面上也显示表头,更直观的查看数据。难道要一个个复制表头吗?当然不是&…

代码随想录算法训练营day14||二叉树part01、理论基础、递归遍历、迭代遍历、统一迭代

递归遍历 (必须掌握) 本篇将介绍前后中序的递归写法,一些同学可能会感觉很简单,其实不然,我们要通过简单题目把方法论确定下来,有了方法论,后面才能应付复杂的递归。 这里帮助大家确定下来递归…

2024年最新IntelliJ IDEA:新特性与免费激活技巧

大家好,我是小黑,在如今这个信息化的时代,软件工程师们势必需要一款极致高效且功能全面的开发工具来提升他们的编码体验。在众多的IDE(集成开发环境)中,IntelliJ IDEA无疑以其强大的功能和易用性&#xff0…

解密输入输出迷局:蓝桥杯与ACM中C++/C语言常见问题揭秘

关于C中的常见输入输出汇总 带空格的字符串: ​ 对于这种输入方式我们选择使用gets() 函数来进行输入,gets用于从标准输入(通常是键盘)读取一行文本并将其存储为字符串,直到遇到换行符(‘\n’&#xff09…

Ondo宣布将其原生稳定币USDY带入Sui生态

重要提示:USDY是由短期美国国债支持的token化票据,持有者享受稳定币的实用性同时获得收益。USDY不得在美国或向美国人出售或以其他方式提供。USDY也未根据1933年美国证券法注册。 不到一年的时间,Sui已经成为全链TVL排名前十的区块链&#xf…

使用 WPF + Chrome 内核实现高稳定性的在线客服系统复合应用程序

对于在线客服与营销系统,客服端指的是后台提供服务的客服或营销人员,他们使用客服程序在后台观察网站的被访情况,开展营销活动或提供客户服务。在本篇文章中,我将详细介绍如何通过 WPF Chrome 内核的方式实现复合客服端应用程序。…