有的时候,一个 if … else … 还不够用。比如,根据年龄的划分:

条件1:18岁或以上:adult
条件2:6岁或以上:teenager
条件3:6岁以下:kid
我们可以用一个 if age >= 18 判断是否符合条件1,如果不符合,再通过一个 if 判断 age >= 6 来判断是否符合条件2,否则,执行条件3:

if age >= 18:print 'adult'
else:if age >= 6:print 'teenager'else:print 'kid'

这样写出来,我们就得到了一个两层嵌套的 if … else … 语句。这个逻辑没有问题,但是,如果继续增加条件,比如3岁以下是 baby:

if age >= 18:print 'adult'
else:if age >= 6:print 'teenager'else:if age >= 3:print 'kid'else:print 'baby'

这种缩进只会越来越多,代码也会越来越难看。

要避免嵌套结构的 if … else …,我们可以用 if … 多个elif … else … 的结构,一次写完所有的规则:

if age >= 18:print 'adult'
elif age >= 6:print 'teenager'
elif age >= 3:print 'kid'
else:print 'baby'

elif 意思就是 else if。这样一来,我们就写出了结构非常清晰的一系列条件判断。

特别注意: 这一系列条件判断会从上到下依次判断,如果某个判断为 True,执行完对应的代码块,后面的条件判断就直接忽略,不再执行了。

请思考下面的代码:

age = 8
if age >= 6:print 'teenager'
elif age >= 18:print 'adult'
else:print 'kid'

当 age = 8 时,结果正确,但 age = 20 时,为什么没有打印出 adult?

如果要修复,应该如何修复?
应该将 6和18及对应的输出互换

本文部分摘自慕课《初识Python》课程

Python之 if-elif-else相关推荐

  1. python elif报错_解决python循环的elif报错的方法

    解决python循环的elif报错的方法 发布时间:2020-08-05 15:36:51 来源:亿速云 阅读:96 作者:小新 解决python循环的elif报错的方法?这个问题可能是我们日常学习或 ...

  2. python else和elif,【python】【转】if else 和 elif

    else和elif语句也可以叫做子句,因为它们不能独立使用,两者都是出现在if.for.while语句内部的.else子句可以增加一种选择:而elif子句则是需要检查更多条件时会被使用,与if和els ...

  3. python中if elif else流程图_python中的if、elif、else语法

    下面的程序允许我用鼠标和键在一个小盒子里创建形状.我在理解下面两条代码时遇到了困难.在 从下面的代码中,当在第一个if语句(与下一个elif语句for-)中按+键时,python如何更改大小?此外,当 ...

  4. python中if elif else流程图_Python中的if、else、elif语句用法简明讲解

    Python中的if.else.elif语句用法简明讲解 发布于 2016-04-01 20:46:32 | 368 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是 ...

  5. python中的elif语句怎么运行_Python的elif语句怎么用

    else和elif语句也可以叫做子句,因为它们不能独立使用,两者都是出现在if.for.while语句内部的.else子句可以增加一种选择:而elif 子句则是需要检查更多条件时会被使用,与if和el ...

  6. python中if elif语句优化_在Python中优化ifelif表达式

    实现最佳性能的一种简单方法是构建一个大表,存储所有可能的(a, b)对的结果.但是,这可能会消耗大量内存,并且对于大的n来说是不实际的 下面是如何使用普通方法优化代码,如下所述.在 1.将显式and用 ...

  7. python中if elif语句优化_python – 最有效的方式做一个if-elif-elif-else语句当else做的最多?...

    代码- options.get(something, doThisMostOfTheTime)() -看起来它应该更快,但它实际上比if - elif - else构造,因为它必须调用一个函数,这可能 ...

  8. python else和elif,if else elif 用法和区别,elseelif

    if else elif 用法和区别,elseelif 1.If语句:"如果条件为真,执行子句中的代码."始终包含以下部分: if关键字: 条件(即求值为True或False的表达 ...

  9. python elif 用法_Python,为什么要使用elif关键字?

    我刚刚开始Python编程,而我想知道elif关键字. 我在使用else if之前使用的其他编程语言. 有谁知道为什么Python开发人员添加了额外的elif关键字? 为什么不: 1 2 3 4 5 ...

  10. python if elif用法_Python elif 条件判断-python if elif-python else if-Python elif使用-嗨客网...

    Python elif条件判断教程 在 elif elif 语句只能写在 if 语句的同级代码的后面,且 elif 语句可以写任意多个. Python elif语句详解 语法 if condition ...

最新文章

  1. 面试官问:Integer 如何实现节约内存和提升性能的?
  2. 天猫双十一这十年:从“人肉云计算”到“脉冲计算”经历了什么
  3. Android PullToRefresh(下拉刷新)的使用详解
  4. 团队作业6——展示博客(Alpha版本)
  5. V4L2用户空间和kernel层driver的交互过程
  6. 腾讯视频下载格式_怎么下载腾讯视频
  7. MyBatis学习总结_Mybatis查询之resultMap和resultType区别
  8. 黑马程序员传智播客 python 迭代器学习笔记
  9. 六西格玛dfss_六西格玛设计DFSS概述
  10. 加元预测:油价仍是关键驱动因素 - 加元/日元、美元/加元设置
  11. Mapped Statements collection does not contain value for 解决方法之一
  12. How to Generate PDF in Ruby on Rails(HowtoGeneratePDFs) ZT
  13. node 搭建本地服务
  14. 16 位 CRC 查表法的简单使用方法
  15. 用命令生成命令交给bash执行
  16. 联想小新Win11系统屏幕和声音间歇性卡顿解决方案
  17. pythonencoding etf-8_Python 金融: 用Groupby理解 上证50ETF
  18. springboot1.5.x升级到springboot2.x 解决方案
  19. (Java每日一谈:第五日——破除抑郁症的小窗户)实战小技巧:邮件发送
  20. javashop源码百度云,java多用户商城原生源码,javamall电商系统

热门文章

  1. maven中scope属性
  2. jQuery-选择器-查找标签
  3. Confluence 6 用户目录图例 - 使用 LDAP 授权,在用户第一次登陆时拷贝用户
  4. [python网络编程]使用scapy修改源IP发送请求
  5. uva11922(强行用rope替代spaly)
  6. 记录一举一动:PowerShell几行代码实现定期屏幕截屏
  7. prod和probor在matlab,matlab补充教程分析.ppt
  8. 浅谈帆软报表的权限授权,以便于二次开发
  9. mysql kegg_阿里技术官甩出的768页MySQL优化笔记,火遍全网不是意外
  10. 职称计算机 宜兴,关于报送2020年经济、石油化工工程、 电子信息工程和工艺美术高级专业技术资格评审材料的通知...