python的三种选择语句

上传人:m**** 文档编号:153086698 上传时间:2022-09-17 格式:DOCX 页数:11 大小:82.14KB
返回 下载 相关 举报
python的三种选择语句_第1页
第1页 / 共11页
python的三种选择语句_第2页
第2页 / 共11页
python的三种选择语句_第3页
第3页 / 共11页
点击查看更多>>
资源描述
本文将详细介绍Python语言中的三种选择语句:if语句,if/else语句和if/elif/else语句。对 于每种语句,我们都提供了相应的流程图。与此同时,我们给出许多简单的示例程序,以帮 助读者加深理解。一、程序的控制结构对于Python程序中的执行语句,默认时是按照书写顺序依次执行的,这时我们说这样的语 句是顺序结构的。但是,仅有顺序结构还是不够的,因为有时候我们需要根据特定的情况, 有选择地执行某些语句,这时我们就需要一种选择结构的语句。另外,有时候我们还可以在 给定条件下往复执行某些语句,这时我们称这些语句是循环结构的。有了这三种基本的结构, 我们就能够构建任意复杂的程序了。对本文来说,我们要讨论的是三种基本程序结构中的选择结构,它们分别用if语句、if/else 语句和if/elif/else语句实现。至于其它两种控制结构,我们会在后续的文章中陆续加以介绍。 下面我们首先介绍if语句。二、if语句Python的if语句的功能跟其他语言的非常相似,都是用来判定给出的条件是否满足,然后 根据判断的结果(即真或假)决定是否执行给出的操作。If语句是一种单选结构,它选择的 是做与不做。它是由三部分组成:关键字if本身、测试条件真假的表达式(我们简称为条 件表达式)和表达式结果为真(即表达式的值为非零)时要执行的代码。If语句的语法形式 如下所示:if表达式:语句体if语句的流程图如下所示:图1 if语句的流程示意图注意,if语句的语句体只有当条件表达式的值为真,即非零时,才会执行;否则的话,程序 就会直接跳过这个语句体,去执行紧跟在这个语句体之后的语句。我们这里的语句体,既可 以包含多条语句,也可以只有一条语句组成,但是语句体由多条语句组成时,要有统一的缩 进形式,否则就会出现逻辑错误,即语法检查没错,但是结果却非预期。现在我们用一个示例程序来演示一下if语句的用法。我们的程序很简单的,只要用户输入 一个整数,如果这个数字大于6,那么就输出一行字符串;否则,直接退出程序。代码如下 所示:# -*- coding: cp936 -*-#比较输入的整数是否大于6integer = raw_input(请输入一个整数:)#取得一个字符串 integer = int(integer) #将字符串转换为整数if integer 6:print %d 大于6 %integer当我们在IDEL中运行该程序时,结果如下所示:图2 if语句示例程序运行结果我们看到,如果输入的数字不大于6时,程序马上退出,也就是说,下列代码print %d 大于 6 %integer并没有执行;如果输入的数字大于6,才会执行上面的这行代码,以打印一行文字。三、if/el语句 上面的if语句是一种单选结构,也就是说,如果条件为真(即表达式的值为非零),那么执 行指定的操作;否则就会跳过该操作。所以,它选择的是做与不做的问题。而f/else语句是 一种双选结构,它选择的不是做与不做的问题,而是在两种备选行动中选择哪一个的问题。 if/else语句由五部分组成:关键字if、测试条件真假的表达式、表达式结果为真(即表达式 的值为非零)时要执行的代码,以及关键字else和表达式结果为假(即表达式的值为零) 时要执行的代码。if/else语句的语法形式如下所示:if表达式:语句体1else :语句体2if/else语句的流程示意图如下所示:图3 if/else语句的流程示意图从if/else语句的流程示意图中可以轻易看出,当条件为真(即表达式的值为非零)时,执行 语句体1;当条件为假(即表达式的值为零)时,执行语句体2也就是说,条件无论真 假,它总要在两个语句体中选择一个执行,双选结构之称谓由此而来。下面我们对上面的示例程序进行修改,以演示if/else语句的使用方法。我们的程序很简单的, 只要用户输入一个整数,如果这个数字大于6,那么就输出一行信息,指出输入的数字大于 6;否则,输出另一行字符串,指出输入的数字小于等于6。代码如下所示:# -*- coding: cp936 -*-#比较输入的整数是否大于6integer = raw_input(请输入一个整数:)#取得一个字符串integer = int(integer) #将字符串转换为整数if integer 6:print %d 大于6 %integerelse:print %d 小于或等于6 %integer当我们在IDEL中运行该程序时,结果如下所示:图4 if/else语句示例程序运行结果我们看到,当输入的数字小于3,即条件表达式为假时,执行else字句中的打印语句:print %d 小于或等于 6 %integer当输入的数字小于3,即条件表达式为假时,执行else字句中的打印语句:print %d 大于 6 %integer但是无论如何,它总得在这两个打印语句中挑一个执行,它不可能两个都跳过。四、if/elif/dlSSJ有时候,我们需要在多组动作中选择一组执行,这时就会用到多选结构,对于Python语言 来说就是if/elif/else语句。该语句可以利用一系列条件表达式进行检查,并在某个表达式为 真的情况下执行相应的代码。需要注意的是,虽然if/elif/else语句的备选动作较多,但是有 且只有一组动作被执行,该语句的语法形式如下所示:if表达式1 :语句体1elif表达式2 :语句体2elif表达式m :语句体melse :语句体n 注意,最后一个elif子句之后的else子句没有进行条件判断,它实际上处理跟前面所有条件 都不匹配的情况,所以通常将else语句所处理的条件称为默认条件,所以else字句必须放 在最后。if/elif/else语句的示意图如下所示:图5 if/elif/else语句的示意图下面我们继续对上面的示例程序进行修改,以演示if/elif/else语句的使用方法。我们还是要 用户输入一个整数,如果这个数字大于6,那么就输出一行信息,指出输入的数字大于6; 如果这个数字小于6,则输出另一行字符串,指出输入的数字小于6;否则,指出输入的数 字等于6。具体的代码如下所示:# -*- coding: cp936 -*-#比较输入的整数是否大于6integer = raw_input(请输入一个整数:)#取得一个字符串integer = int(integer) #将字符串转换为整数if integer 6:print %d 大于6 %integerelif integer 6:print %d 大于6 %integerelse:if integer 6:print %d 小于6 %integerelse:print %d 等于6 %integer当我们在IDEL中运行该程序时,结果如下所示:图9 if/else嵌套语句示例程序运行结果六、语句体的缩进问题 需要说明的是,嵌套时一定要注意缩进问题。C语言是用花括号来区分语句体,但是Python 的语句体是用缩进形式来表示的,如果缩进不正确,会导致逻辑错误。举例来说,如果我们 让用户输入一个数字,如果数字为偶数,则打印两行信息,一行说明数字除以2余数为零, 另一行说明判断结果。具体代码如下所示:# -*- coding: cp936 -*-#判断输入的数字是否为偶数integer = raw_input(请输入一个整数:)#取得一个字符串integer = int(integer) #将字符串转换为整数if 0 = integer % 2:print n%d 除以2余数为零;%integerprint 所以,%d是个偶数%integer当我们在IDEL中运行该程序时,结果如下所示:图10正确缩进的结果如果我们改变上面程序中的if语句的第二条打印语句的缩进形式,比如改为: if 0 = integer % 2:print n%d 除以2余数为零;%integerprint 所以,%d是个偶数%integer我们看看运行结果如何:图11错误的缩进将导致逻辑错误如图所示,这里出现了明显的逻辑错误。由于Python通过缩进来区分语句体的界限,所以 当上例中的第二个打印语句不缩进后,已经在if语句的控制范围之外,所以无论if语句的 条件是否为真,它都会执行。七、选择语句中的条件表达式现在,我们对选择语句中的条件表达式进行必要的介绍。三种选择语句中,条件表达式都是 必须可少的组成部分。当条件表达式的值为零时,表示条件为假;当条件表达式的值为非零 时,表示条件为真。那么哪些表达式可以作为条件表达式呢?基本上,最常用的是关系表达 式和逻辑表达式,如:if a = x and b = y :pri nt a = x, b = y除此之外,条件表达式可以是任何数值类型表达式,甚至字符型也可以:图12用字符作为条件表达式的情形 八、小结本文详细介绍了 Python中的三种选择语句。当我们初接触这些选择结构的时候,最好多画 流程图,这对于理解程序的逻辑极有帮助。另外,上机实习也是必不可少的,本文中的示例 程序都是在IDEL环境中演示的,有关IDEL的使用方法,读者可以参考前面的“循序渐进学 Python 之 IDLE 篇”一文。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 建筑环境 > 建筑资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!