详解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使用cPickle模块序列化实例
Sep 25 Python
在Python的Django框架中创建语言文件
Jul 27 Python
python字典键值对的添加和遍历方法
Sep 11 Python
Python数据分析之如何利用pandas查询数据示例代码
Sep 01 Python
python 实现将字典dict、列表list中的中文正常显示方法
Jul 06 Python
使用sklearn之LabelEncoder将Label标准化的方法
Jul 11 Python
APIStar:一个专为Python3设计的API框架
Sep 26 Python
django数据库自动重连的方法实例
Jul 21 Python
python脚本实现mp4中的音频提取并保存在原目录
Feb 27 Python
Python处理mysql特殊字符的问题
Mar 02 Python
python 读取yaml文件的两种方法(在unittest中使用)
Dec 01 Python
浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)
May 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
PHP实现域名whois查询的代码(数据源万网、新网)
2010/02/22 PHP
线路分流自动跳转代码;希望对大家有用!
2006/12/02 Javascript
js跑马灯代码(自写)
2013/04/17 Javascript
javascrip关于继承的小例子
2013/05/10 Javascript
js中通过split函数分割字符串成数组小例子
2013/09/21 Javascript
js unicode 编码解析关于数据转换为中文的两种方法
2014/04/21 Javascript
一款由jquery实现的整屏切换特效
2014/09/15 Javascript
jQuery中parents()和parent()的区别分析
2014/10/28 Javascript
jquery实现上下左右滑动的方法
2015/02/09 Javascript
Javascript变量的作用域和作用域链详解
2015/04/02 Javascript
JavaScript之AOP编程实例
2015/07/17 Javascript
js点击按钮实现带遮罩层的弹出视频效果
2015/12/19 Javascript
javascript特殊日历控件分享
2016/03/07 Javascript
BootStrap 可编辑表Table格
2016/11/24 Javascript
Bootstrap导航中表单简单实现代码
2017/03/06 Javascript
AngularJS实现页面定时刷新
2017/03/14 Javascript
Angular.js去除页面中显示的空行方法示例
2017/03/30 Javascript
bootstrap表单示例代码分享
2017/05/18 Javascript
微信小程序 监听手势滑动切换页面实例详解
2017/06/15 Javascript
jQuery中库的引用方法
2018/01/06 jQuery
解决webpack+Vue引入iView找不到字体文件的问题
2018/09/28 Javascript
JavaScript基于面向对象实现的无缝滚动轮播示例
2020/01/17 Javascript
Python3多线程爬虫实例讲解代码
2018/01/05 Python
Python通过调用mysql存储过程实现更新数据功能示例
2018/04/03 Python
python pandas cumsum求累计次数的用法
2019/07/29 Python
Python3从零开始搭建一个语音对话机器人的实现
2019/08/23 Python
使用Keras加载含有自定义层或函数的模型操作
2020/06/10 Python
PyTorch 导数应用的使用教程
2020/08/31 Python
XML文档面试题
2015/08/05 面试题
会计专业的自荐信
2013/12/12 职场文书
一夜的工作教学反思
2014/02/08 职场文书
《我不是最弱小的》教学反思
2014/02/23 职场文书
小摄影师教学反思
2014/04/27 职场文书
捐助贫困学生倡议书
2014/05/16 职场文书
面试通知邮件
2015/04/20 职场文书
python数字转对应中文的方法总结
2021/08/02 Python