详解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中使用MELIAE分析程序内存占用实例
Feb 18 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
Jan 24 Python
Python生成器以及应用实例解析
Feb 08 Python
python监控键盘输入实例代码
Feb 09 Python
Python多层装饰器用法实例分析
Feb 09 Python
Python目录和文件处理总结详解
Sep 02 Python
Python新手如何进行闭包时绑定变量操作
May 29 Python
python中如何写类
Jun 29 Python
keras 简单 lstm实例(基于one-hot编码)
Jul 02 Python
python 绘制场景热力图的示例
Sep 23 Python
利用python调用摄像头的实例分析
Jun 07 Python
手残删除python之后的补救方法
Jun 26 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
一个简单的自动发送邮件系统(二)
2006/10/09 PHP
PHP魔术引号所带来的安全问题分析
2014/07/15 PHP
php提取字符串中网站url地址的方法
2014/12/03 PHP
jQuery的控件及事件(输入控件及回车事件)使用示例
2013/07/25 Javascript
jQuery中$.fn的用法示例介绍
2013/11/05 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
2013/11/07 Javascript
JS如何判断移动端访问设备并解析对应CSS
2013/11/27 Javascript
浅谈angularJS 作用域
2015/07/05 Javascript
Bootstrap入门书籍之(零)Bootstrap简介
2016/02/17 Javascript
原生js实现电商侧边导航效果
2017/01/19 Javascript
JavaScript登录记住密码操作(超简单代码)
2017/03/22 Javascript
使用react-router4.0实现重定向和404功能的方法
2017/08/28 Javascript
vue项目常用组件和框架结构介绍
2017/12/24 Javascript
vue-cli开发时,关于ajax跨域的解决方法(推荐)
2018/02/03 Javascript
浅析vue-router实现原理及两种模式
2020/02/11 Javascript
[48:52]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第一局
2016/02/25 DOTA
Django集成百度富文本编辑器uEditor攻略
2014/07/04 Python
Python抓取淘宝下拉框关键词的方法
2015/07/08 Python
简述Python中的进程、线程、协程
2016/03/18 Python
Python实现k-means算法
2018/02/23 Python
python实现定时提取实时日志程序
2018/06/22 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
2019/08/31 Python
Python统计文本词汇出现次数的实例代码
2020/02/27 Python
简单了解Python多态与属性运行原理
2020/06/15 Python
基于python实现操作redis及消息队列
2020/08/27 Python
css3 column实现卡片瀑布流布局的示例代码
2018/06/22 HTML / CSS
size?荷兰官方网站:英国高级运动鞋精品店
2020/07/24 全球购物
什么是makefile? 如何编写makefile?
2012/08/08 面试题
nohup的用法
2014/08/10 面试题
面向对象设计的原则是什么
2013/02/13 面试题
中专生自我鉴定范文
2013/12/19 职场文书
汽车技术服务英文求职信范文
2014/01/02 职场文书
教师遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
八项规定自查自纠报告及整改措施
2014/10/26 职场文书
redis 查看所有的key方式
2021/05/07 Redis
关于python爬虫应用urllib库作用分析
2021/09/04 Python