详解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去掉字符串中重复字符的方法
Feb 27 Python
Python实现list反转实例汇总
Nov 11 Python
利用标准库fractions模块让Python支持分数类型的方法详解
Aug 11 Python
使用Python的turtle模块画图的方法
Nov 15 Python
python调用API实现智能回复机器人
Apr 10 Python
对numpy中array和asarray的区别详解
Apr 17 Python
Python中分支语句与循环语句实例详解
Sep 13 Python
Windows平台Python编程必会模块之pywin32介绍
Oct 01 Python
Python类及获取对象属性方法解析
Jun 15 Python
Python+logging输出到屏幕将log日志写入文件
Nov 11 Python
用Python selenium实现淘宝抢单机器人
Jun 18 Python
教你如何使用Python开发一个钉钉群应答机器人
Jun 21 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
mysql5写入和读出乱码解决
2006/11/25 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
2013/06/27 PHP
PHP实现的自定义数组排序函数与排序类示例
2016/11/18 PHP
Javascript模块模式分析
2008/05/16 Javascript
Javascript中克隆一个数组的实现代码
2013/12/06 Javascript
jQuery中:focus选择器用法实例
2014/12/30 Javascript
jQuery实现自定义事件的方法
2015/04/17 Javascript
js模仿java的Map集合详解
2016/01/06 Javascript
BootStrap中按钮点击后被禁用按钮的最佳实现方法
2016/09/23 Javascript
yii form 表单提交之前JS在提交按钮的验证方法
2017/03/15 Javascript
JS实现延迟隐藏功能的方法(类似QQ头像鼠标放上展示信息)
2017/12/28 Javascript
Vue2.0 事件的广播与接收(观察者模式)
2018/03/14 Javascript
layui 动态设置checbox 选中状态的例子
2019/09/02 Javascript
vue引用外部JS的两种种方法
2020/01/28 Javascript
JavaScript冒泡算法原理与实现方法深入理解
2020/06/04 Javascript
[01:14:05]《加油DOTA》第四期
2014/08/25 DOTA
[01:00:30]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第二场 10.31
2020/11/02 DOTA
用Python中的__slots__缓存资源以节省内存开销的方法
2015/04/02 Python
Windows下搭建python开发环境详细步骤
2020/07/20 Python
微信 用脚本查看是否被微信好友删除
2016/10/28 Python
Python Socket编程详细介绍
2017/03/23 Python
python日志模块logbook使用方法
2019/09/19 Python
Scrapy项目实战之爬取某社区用户详情
2020/09/17 Python
python 实现aes256加密
2020/11/27 Python
python读取图片颜色值并生成excel像素画的方法实例
2021/02/19 Python
接口中的方法可以是abstract的吗
2015/07/23 面试题
华为慧通笔试题
2016/04/22 面试题
写clone()方法时,通常都有一行代码,是什么?
2012/10/31 面试题
中英双版中文教师求职信
2013/10/27 职场文书
文体活动总结范文
2014/05/05 职场文书
客运企业隐患排查工作方案
2014/06/06 职场文书
日语专业求职信
2014/07/04 职场文书
社区党员志愿服务活动方案
2014/08/18 职场文书
卖房授权委托书样本
2014/10/05 职场文书
一起来学习Python的元组和列表
2022/03/13 Python
在Oracle表中进行关键词搜索的过程
2022/06/10 Oracle