详解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处理json数据中的中文
Mar 06 Python
Python函数参数匹配模型通用规则keyword-only参数详解
Jun 10 Python
python 实现二维列表转置
Dec 02 Python
python中property和setter装饰器用法
Dec 19 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
Apr 26 Python
python如何查看安装了的模块
Jun 23 Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
Jun 30 Python
python实现自动清理重复文件
Aug 24 Python
Python 操作 MySQL数据库
Sep 18 Python
Python pickle模块常用方法代码实例
Oct 10 Python
基于Python爬取股票数据过程详解
Oct 21 Python
python基于exchange函数发送邮件过程详解
Nov 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模块memcache和memcached区别分析
2011/06/14 PHP
PHP高级对象构建 工厂模式的使用
2012/02/05 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
2014/06/05 PHP
CI框架装载器Loader.php源码分析
2014/11/04 PHP
深入讲解PHP的对象注入(Object Injection)
2017/03/01 PHP
PHP写API输出的时用echo的原因详解
2019/04/28 PHP
php中目录操作opendir()、readdir()及scandir()用法示例
2019/06/08 PHP
laravel-admin 中列表筛选方法
2019/10/03 PHP
setTimeout与setInterval在不同浏览器下的差异
2010/01/24 Javascript
js自定义事件代码说明
2011/01/31 Javascript
创建公共调用 jQuery Ajax 带返回值
2012/08/01 Javascript
nodejs npm包管理的配置方法及常用命令介绍
2014/06/05 NodeJs
原生js实现复制对象、扩展对象 类似jquery中的extend()方法
2014/08/30 Javascript
兼容Firefox的Javascript XSLT 处理XML文件
2014/12/31 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
2016/08/31 Javascript
前端框架Vue.js构建大型应用浅析
2016/09/12 Javascript
JS禁止查看网页源代码的实现方法
2016/10/12 Javascript
JS中作用域和变量提升(hoisting)的深入理解
2016/10/31 Javascript
js实现的xml对象转json功能示例
2016/12/24 Javascript
vue2.0中click点击当前li实现动态切换class
2017/06/21 Javascript
JavaScript通过mouseover()实现图片变大效果的示例
2017/12/20 Javascript
Vue shopCart 组件开发详解
2018/01/26 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
2018/11/28 Javascript
js实现unicode码字符串与utf8字节数据互转详解
2019/03/21 Javascript
jquery弹窗时禁止body滚动条滚动的例子
2019/09/21 jQuery
vue自定义指令和动态路由实现权限控制
2020/08/28 Javascript
python实现二维码扫码自动登录淘宝
2016/12/27 Python
python Pandas如何对数据集随机抽样
2019/07/29 Python
你可能不熟练的十个前端HTML5经典面试题
2018/07/03 HTML / CSS
俄罗斯家居用品购物网站:Евродом
2020/11/21 全球购物
北京大学自荐信范文
2014/01/28 职场文书
依法行政工作汇报
2014/10/28 职场文书
上课睡觉万能检讨书
2015/02/17 职场文书
大学生党课心得体会
2016/01/07 职场文书
初三数学教学反思
2016/02/17 职场文书
个人房屋租赁合同(标准范本)
2019/09/16 职场文书