python判断语句_详解Python判断语句的使用方法

本篇介绍Python判断语句的使用,主要讨论简单条件语句、多重条件语句和嵌套条件语句,在讲解的每个案例中都配有流程图和代码说明。通过本篇的学习,可以达成如下目标。

● 掌握判断语句的使用规则

● 判断语句流程图的画法

前面我们学习了Python的数据类型和相关知识,现在可以开始编写Python程序了,首先从条件判断开始。

1、 简单if-else语句

例1:要求用户输入两个数,计算两数的和。如果这两个数的和大于100,则输出“两数和大于100”,否则输出“两数和小于100”。

程序要求用户从键盘输入两个整数,求这两个整数的和。如果和大于100,用print语句输出“两数和大于100”,否则输出“两数和小于100”。程序流程图如下:

u=10091428,1238286396&fm=173&app=49&f=JPEG?w=554&h=332&s=798C3472018F654B5CDD10CB0000A0B1图 1 例1流程图

流程图用到了判断框,判断框用于判断两数和结果result的值,并根据判断情况选择不同的分支。类似这样的判断情况,在程序中应用非常广泛,需要对条件进行判断,并根据判断结果,进入不同的分支程序。这种流程称为条件分支流程,其语句结构也称为条件结构。

在Python语言中,条件结构由if—else语句构成,else语句也可以省略。if语句由三部分组成:关键字本身,用于判断结果真假的条件表达式,以及当表达式为真或者非零时执行的代码块。else 语句与if语句搭配使用,如果if语句条件表达式的值为真,则执行if 后面的语句块;如果if语句条件表达式的值为假,则执行else后面的语句块。

if—else语句语法如下:

if 条件表达式:

语句块

else:

语句块

在if—else语句结构中,如果只对if语句条件表达式为真的情况进行处理,else语句可以省略。现在,我们已经了解了Python语言if-else结构的语法,下面探讨一下如何在条件结构中使用条件表达式。

例如:要测试两个整数类型的变量值num1和num2是否相等,可以编写num1 == num2,然后将其放入一个if语句中,如下所示:

u=2853074706,3469969578&fm=173&app=49&f=JPEG?w=640&h=93

如果num1和num2的数值相等,则条件为真,执行if后面的语句块,用print函数输出“两数相等”,否则执行else后面的语句块,用print函数输出“两数不相等”。编写代码时,if和else后面的语句块要缩进对齐。

下面根据图1所示的流程图给出例1的程序代码。

u=290005421,3880737594&fm=173&app=49&f=JPEG?w=640&h=125&s=46C0F11A4B23672446F51CDA000050B2

input函数从标准输入(如键盘)接收用户或设备的输入,input返回的是字符串类型,程序要求输入整数,因此计算两数和时,需要把num1和num2强制转换为整数。最后再判断result的值,根据result的值选择不同的执行路径。

2、 多重if结构语句

例2:编写一个程序,根据用户输入的考试成绩,输出相应的成绩评定信息。成绩大于等于90分输出“优”;成绩大于等于80分小于90分输出“良”;成绩大于等于60分小于80分输出“中”,成绩小于60分输出“差”。

程序的主要功能是对考生的考试成绩进行评定,成绩评定分成优、良、中、差四个档次。成绩大于等于90分为优,大于等于80分小于90分为良,大于等于60分小于80分为中,成绩小于60分为差。用户输入考试成绩后,程序需要对考试成绩进行多次判断,如果考试成绩在90分至100分之间,用print函数输出“优”;如果考试成绩在80分至90分之间,用print函数输出“良”;如果考试成绩在60分至80分之间,用print函数输出“中”;如果考试成绩在60分以下,用print函数输出“差”。程序流程图如下:

u=2374959664,1280187222&fm=173&app=49&f=JPEG?w=554&h=414&s=5A283C62050FC54D5CF595DA0000C0B1图 2 例2流程图

流程图用到了多个条件判断,如果条件的值为真,则执行某些操作,否则,进一步进行条件判断,执行其它操作。流程图中需要逐级判断输入的考试成绩在哪个分数段内,并输出相应的等级。当遇到类似这种情况时,就可使用多重if结构解决。

多重if结构实际上是if-else结构的另一种形式;if-else-if,这种形式也称为阶梯式,当有多个分支选择时,可采用多重if结构。

多重if结构语法如下:

if 条件表达式1:

语句块

elif 条件表达式2:

语句块

elif 条件表达式3:

语句块

……

else:

语句块

多重if结构从上到下依次对条件进行判断,当条件满足时就执行该条件后面的语句,并跳过其它的条件判断;若没有条件满足,则执行最后的else语句块,如果没有else语句块,则直接执行该结构后面的语句。

下面根据图2所示的流程图给出例2的程序代码。

u=4117021834,3344525234&fm=173&app=49&f=JPEG?w=640&h=158&s=EEC0E0124B63472446758CDA000080B2

程序使用了if-elif-else多重条件结构,每个条件表达式使用了逻辑与运算符,用于连接两个子表达式,只有两个子表达式都满足条件时,整个表达式的值才为真。

3、 嵌套if语句

前面介绍了简单if和多重if语句,可以解决很多条件判断问题。但还存在一种嵌套的判断情况,即只有当前提条件满足时,才判断后续条件是否满足。例如,如果星期日天气晴朗,且能买到去青岛的高铁票就去青岛玩,否则就在家休息。在这个例子中,第一条件是天气晴朗,在天气满足的条件下,再判断第二条件,是否能买到去青岛的高铁票,两个条件全部满足就去青岛玩,否则就在家休息。

嵌套if语句是指在已有if语句块中插入另一个if语句块,实现条件的嵌套判断,if语句块可以多层嵌套。嵌套语句语法结构如下:

if 前提条件:

if 后续条件:

语句块

else:

语句块

else:

语句块

嵌套if语句在Java、C等编程语言中,编写不规范时,有时会引发一些疑问,下面是一个Java语言的例子:

u=1087072869,3757788466&fm=173&app=49&f=JPEG?w=640&h=70

按条件语句的语法形式,上面的例子似乎有两种可能的解释,第一种理解:外层的if是一个没有else部分的条件语句,最后的else部分属于内层的if语句;第二种理解:内层if是一个不带else部分的条件语句,最后的else属于外层的if条件语句。

为了避免这种二义性,Java语言规定,每个else部分总是属于前面最近的那个缺少对应的else部分if语句。根据这一规定,上面的例子第一种解释是正确的,第二种解释是不正确的。

Python不会出现这样的疑问,Python使用强制缩进使代码正确对齐,让程序员来决定else属于哪一个if,从而减少了不确定性。例如,上面的例子代码按照第一种理解可以这么写:

u=4292248218,185092244&fm=173&app=49&f=JPEG?w=640&h=70

Python代码可以很明显看出,else是和内层if匹配的。

例3:编写一个程序,要求用户输入两个整数,如果输入的两个整数不相等,输出最大的数。

程序的主要功能是练习嵌套if语句的使用,要求对用户输入的两个整数首先判断是否相等,在两个数相等的条件下,再判断哪个数大,并输出较大的数。程序流程图如下:

u=3816226744,2641342704&fm=173&app=49&f=JPEG?w=554&h=574&s=5EAA3C62410FE54F1EFD84DA0000C0B1图 3 例3流程图

流程图用到了嵌套条件判断。首先判断num1和num2是否相等,如果相等,程序不做任何处理并结束程序;如果不相等,再判断num1是否大于num2,若条件满足输出num1,程序结束,否则输出num2,程序结束。

下面根据图3流程图给出例3的程序代码。

u=1505298025,3927738263&fm=173&app=49&f=JPEG?w=640&h=137&s=4F40E8124F62472046F51CD8000050B2

代码使用了嵌套if语句实现了程序任务要求,input获取用户输入后,返回的是字符串,需要把字符串强制转换为整数。

课程小结

(1)在Python语言中,if语句由三部分组成:关键字本身,用于判断结果真假的条件表达式,以及当表达式为真或者非零时执行的代码块。else 语句与if语句搭配使用,如果if语句条件表达式的值为真,则执行if 后面的语句块;如果if语句条件表达式的值为假,则执行else后面的语句块。

(2)多重if结构语句实际上是if-else结构的另一种形式;if-else-if,这种形式也称为阶梯式,由多个条件判断语句组成,如果条件的值为真,则执行某些操作,否则,进一步进行条件判断,执行其它操作。

(3)嵌套if语句是指在已有if语句块中插入另一个if语句块,实现条件的嵌套判断,if语句块可以多层嵌套。

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

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

相关文章

迫在眉睫的职业规划

对于大多数程序员来说,微软是一家值得崇敬的公司,能够加入微软,也是很多程序员的愿望。在付出足够的努力后,一旦进入了微软,也就意味着可以和最先进的技术终日为伍,一直沿着技术这条路线走下去了。对吗&…

js setTimeout 使用方法

在项目过程中遇到一些异步加载和其他js方法冲突的问题: 如图初始化的时候会加载“商户基本信息”,修改商户名称字段第二个页面也需要修改: function setSeqAndName(){var pritab2 $("#allTabs").tabs("getTab", 1).find("ifra…

python中分支结构包括哪些_python中的分支结构

python不提供switch语句,但是python可以通过字典实现switch语句的功能 实现方法分两步: 首先:定义一个地点 其次:调用字典的get()获取相应的表达式 原始方法: from __future__ import division #内置函数,解…

机器学习算法之 logistic、Softmax 回归

逻辑回归本质是分类问题,而且是二分类问题,不属于回归,但是为什么又叫回归呢。我们可以这样理解,逻辑回归就是用回归的办法来做分类。它是在线性回归的基础上,通过Sigmoid函数进行了非线性转换,从而具有更强…

html上传预览图片原理,关于html中图片上传预览的实现

functionchange() {varpicdocument.getElementById("preview"),filedocument.getElementById("f");//得到后缀名varextfile.value.substring(file.value.lastIndexOf(".")1).toLowerCase();//gif在IE浏览器暂时无法显示if(ext!png&&ext!…

程序员成功之路

程序员成功之路 ——The road ahead for programmer(演讲稿) 一、我很羡慕在座的各位同学,因为你们是中国未来的程序员,而我不是,我一直很遗憾。 比尔盖茨曾经写过一本书叫做《未来之路》The road ahead, 那么今天我选…

【温故知新】——原生js中常用的四种循环方式

一、引言 本文主要是利用一个例子,讲一下原生js中常用的四种循环方式的使用与区别: 实现效果: 在网页中弹出框输入0 网页输出“欢迎下次光临”在网页中弹出框输入1 网页输出“查询中……”在网页中弹出框输入2 网页输出“取款中……”在…

部署egg需要用到pm2吗_使用宝塔面板部署校园综合服务平台项目

本文档为校园综合服务平台服务端的安装部署教程,欢迎star小程序端下载地址:https://github.com/landalfYao/help.git后台服务端下载地址:https://github.com/landalfYao/helpserver.git后台客户端下载地址:https://github.com/lan…

机器学习算法之线性回归

一、什么是回归算法 回归算法是一种有监督算法 回归算法是一种比较常用的机器学习算法,用来建立“解释”变量(自变量X)和观测值(因变量Y)之间的关系;从机器学习的角度来讲,用于构建一个算法模型(函数)来做属性(X)与标签(Y)之间的映射关系&a…

html中怎么写多选框,如何在HTML中实现“选择所有”复选框?

checkboxes document.getElementsByName(foo);for(var checkbox in checkboxes)checkbox.checked source.checked;} Toggle AllBar 1 Bar 2Bar 3 Bar 4最新情况:这个for each...in构造在Safari 5或Chrome 5中似乎不起作用,至少在本例中是这样的。这段代…

Console-算法[for]-国王与老人的六十四格

ylbtech-Arithmetic:Console-算法[for]-国王与老人的六十四格1.A,案例-- -- ylb:算法-- Type:算法[for]-- munu:国王与老人的六十四格-- 20:32 2012/3/16-- 案例:印度有个国王,他拥有超人的权力和巨大的财富。但权力和财富最终让他…

程序人生感悟

<本来不想写的&#xff0c;实在不想看到某些人误人子弟&#xff0c;混淆视听&#xff0c;耽误了中国IT的未来&#xff0c;所以一吐为快) 一些人总是发出一些错误的声音&#xff0c;形成了劣胜优汰可怕的现象。他们在误导着中国&#xff0c;把我们的后继军训练成软件蓝领―…

python的excel库_Python-Excel 模块哪家强?

0. 前言 从网页爬下来的大量数据需要清洗&#xff1f; 成堆的科学实验数据需要导入 Excel 进行分析&#xff1f; 有成堆的表格等待统计&#xff1f; 作为人生苦短的 Python 程序员&#xff0c;该如何优雅地操作 Excel&#xff1f; 得益于前人的辛勤劳作&#xff0c;Python 处理…

html如何设置滑轮效果,HTML中鼠标滚轮事件onmousewheel处理

滚轮事件是不同浏览器会有一点点区别&#xff0c;一个像Firefox使用DOMMouseScroll ,ff也可以使用addEventListener方法绑定DomMouseScroll事件&#xff0c;其他的浏览器滚轮事件使用mousewheel&#xff0c;下面我来给大家具体介绍。Firefox使用DOMMouseScroll&#xff0c;其他…

在OOW2009上寻宝撞大运续(床上篇)

历时5天的Oracle Open World 2009终于&#xff0c;终于结束了。今天最后的节目是去听一场金融分析师的会议&#xff0c;“只”开了不到6个钟。去的时候是毛毛雨&#xff0c;回来的时候终于看到了一缕阳光。说夕阳无限好不大合适。用Larry Ellison的说法是“太阳落下的地方也是太…

skynet记录6:定时器

稍后填坑 kernel中&#xff0c;每一次时钟中断会trap到kernel code&#xff0c;这个时间间隔称之为jiffies&#xff0c;每秒钟发生的次数为HZ 如果是4核&#xff0c;分配到每个核就是HZ/4 cat /boot/config-uname -r | grep ^CONFIG_HZ 输出&#xff1a; CONFIG_HZ250 cat /pro…

html图片平铺不重复整个页面,JSP网页背景图片怎样不平铺,不重复出现啊...

2016-07-10 13:12最佳答案1,Q:怎样把别人网页上的背景音乐保存下来?A:浏览该网页后,在你的 Windows\Temporary Internet Files 文件夹下可以找到该背景音乐的缓存文件&#xff0c;拷贝出来即可使用。如果还是找不见该文件&#xff0c;可以打开网页的源文件&#xff0c;找到音乐…

特征图注意力_从数据结构到算法:图网络方法初探

作者 | 朱梓豪来源 | 机器之心原文 | 从数据结构到算法&#xff1a;图网络方法初探如果说 2019 年机器学习领域什么方向最火&#xff0c;那么必然有图神经网络的一席之地。其实早在很多年前&#xff0c;图神经网络就以图嵌入、图表示学习、网络嵌入等别名呈现出来&#xff0c;其…

FFMPEG 源码分析

FFMPEG基本概念&#xff1a; ffmpeg是一个开源的编解码框架&#xff0c;它提供了一个音视频录制&#xff0c;解码和编码库。FFMPEG是在linux下开发的&#xff0c;但也有windows下的编译版本。 ffmpeg项目由以下几部分组成: ffmpeg 视频文件转换命令行工具,也支持经过实时电视…

面试之 Redis汇总

简介 Redis 持久化机制 RDB&#xff08;Redis DataBase&#xff09; AOF&#xff08;Append-only file&#xff09; Redis 4.0 对于持久化机制的优化 补充&#xff1a;AOF 重写 二者的区别 二者优缺点 Memcache与Redis的区别都有哪些&#xff1f; 缓存雪崩、缓存穿透、…