详解Python if-elif-else知识点


Posted in Python onJune 11, 2018

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

条件1:18岁或以上:adult
条件2:6岁或以上:teenager
条件3:6岁以下:kid

Python if-elif-else知识点

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?

如果要修复,应该如何修复?

任务

如果按照分数划定结果:

90分或以上:excellent

80分或以上:good

60分或以上:passed

60分以下:failed

请编写程序根据分数打印结果。

答案

score = 85

if score >= 90:
print 'excellent'
elif score >= 80:
print 'good'
elif score >= 60:
print 'passed'
else :
print 'failed'

Python 相关文章推荐
Python与Redis的连接教程
Apr 22 Python
Python通过select实现异步IO的方法
Jun 04 Python
Python制作简易注册登录系统
Dec 15 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
Jun 15 Python
Python编写Windows Service服务程序
Jan 04 Python
PyQt5实现类似别踩白块游戏
Jan 24 Python
Python中时间datetime的处理与转换用法总结
Feb 18 Python
Python3中_(下划线)和__(双下划线)的用途和区别
Apr 26 Python
树莓派3 搭建 django 服务器的实例
Aug 29 Python
使用python编写一个语音朗读闹钟功能的示例代码
Jul 14 Python
python统计mysql数据量变化并调用接口告警的示例代码
Sep 21 Python
Python3爬虫ChromeDriver的安装实例
Feb 06 Python
基于anaconda下强大的conda命令介绍
Jun 11 #Python
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
Jun 11 #Python
python中不能连接超时的问题及解决方法
Jun 10 #Python
Python爬虫实现(伪)球迷速成
Jun 10 #Python
python利用微信公众号实现报警功能
Jun 10 #Python
Python if语句知识点用法总结
Jun 10 #Python
Python continue继续循环用法总结
Jun 10 #Python
You might like
谈PHP生成静态页面分析 模板+缓存+写文件
2009/08/17 PHP
PHP间隔一段时间执行代码的方法
2014/12/02 PHP
PHP通过加锁实现并发情况下抢码功能
2016/08/10 PHP
php实现解析xml并生成sql语句的方法
2018/02/03 PHP
PHP常量define和const的区别详解
2019/05/18 PHP
Alliance vs AM BO3 第二场2.13
2021/03/10 DOTA
JavaScript replace(rgExp,fn)正则替换的用法
2010/03/04 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
Jquery通过Ajax访问XML数据的小例子
2013/11/18 Javascript
详解jQuery Mobile自定义标签
2016/01/06 Javascript
限制只能输入数字的实现代码
2016/05/16 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
2016/06/02 Javascript
自己动手制作基于jQuery的Web页面加载进度条插件
2016/06/03 Javascript
轻松5句话解决JavaScript的作用域
2016/07/15 Javascript
vue日期组件 支持vue1.0和2.0
2017/01/09 Javascript
apicloud拉起小程序并传递参数的方法示例
2018/11/21 Javascript
微信小程序 Storage更新详解
2019/07/16 Javascript
[47:02]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS paiN
2018/03/30 DOTA
利用soaplib搭建webservice详细步骤和实例代码
2013/11/20 Python
Python实现多属性排序的方法
2018/12/05 Python
python实现简单井字棋小游戏
2020/03/05 Python
python使用建议与技巧分享(一)
2020/08/17 Python
Python 连接 MySQL 的几种方法
2020/09/09 Python
Python利用imshow制作自定义渐变填充柱状图(colorbar)
2020/12/10 Python
如何用tempfile库创建python进程中的临时文件
2021/01/28 Python
HTML5适合的情人节礼物有纪念日期功能
2021/01/25 HTML / CSS
Vans澳大利亚官网:购买鞋子、服装及配件
2019/09/05 全球购物
技校教师求职简历的自我评价
2013/10/20 职场文书
厂长助理岗位职责
2013/12/27 职场文书
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
教师考核评语
2014/04/28 职场文书
工作失误检讨书(3篇)
2014/10/11 职场文书
网上祭英烈活动总结
2015/02/04 职场文书
2015医德医风个人工作总结
2015/04/02 职场文书
2015年教师节感言
2015/08/03 职场文书
Vue中使用import进行路由懒加载的原理分析
2022/04/01 Vue.js