详解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 socket网络编程步骤详解(socket套接字使用)
Dec 06 Python
python实现决策树C4.5算法详解(在ID3基础上改进)
May 31 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
Jan 24 Python
Python操作MySQL模拟银行转账
Mar 12 Python
简单谈谈Python的pycurl模块
Apr 07 Python
python微信公众号之关注公众号自动回复
Oct 25 Python
Python的UTC时间转换讲解
Feb 26 Python
六行python代码的爱心曲线详解
May 17 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
Nov 15 Python
python 比较2张图片的相似度的方法示例
Dec 18 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
Apr 27 Python
Tensorflow全局设置可见GPU编号操作
Jun 30 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中文字母数字验证码实现代码
2008/04/25 PHP
PHP 多维数组的排序问题 根据二维数组中某个项排序
2011/11/09 PHP
php报错502badgateway解决方法
2019/10/11 PHP
让焦点自动跳转
2006/07/01 Javascript
javascript小数计算出现近似值的解决办法
2010/02/06 Javascript
JS字符串函数扩展代码
2011/09/13 Javascript
JS 获取滚动条高度示例代码
2013/10/24 Javascript
js获取url中指定参数值的示例代码
2013/12/14 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
javascript等号运算符使用详解
2015/04/16 Javascript
在JavaScript中访问字符串的子串
2015/07/07 Javascript
AngularJs 60分钟入门基础教程
2016/04/03 Javascript
针对后台列表table拖拽比较实用的jquery拖动排序
2016/10/10 Javascript
通过bootstrap全面学习less
2016/11/09 Javascript
使用JavaScript解决网页图片拉伸问题(推荐)
2016/11/25 Javascript
js用类封装pop弹窗组件
2017/10/08 Javascript
[03:37]2014DOTA2国际邀请赛 主赛事第一日胜者组TOPPLAY
2014/07/19 DOTA
[01:21]辉夜杯战队访谈宣传片—CDEC
2015/12/25 DOTA
Python中bisect的用法
2014/09/23 Python
python3实现UDP协议的服务器和客户端
2017/06/14 Python
python+pandas分析nginx日志的实例
2018/04/28 Python
python数据结构学习之实现线性表的顺序
2018/09/28 Python
Python中GeoJson和bokeh-1的使用讲解
2019/01/03 Python
由面试题加深对Django的认识理解
2019/07/19 Python
python 递归调用返回None的问题及解决方法
2020/03/16 Python
python元组拆包实现方法
2021/02/28 Python
百思买美国官网:Best Buy
2016/07/28 全球购物
荣耀俄罗斯官网:HONOR俄罗斯
2020/10/31 全球购物
先进典型事迹材料
2014/12/29 职场文书
二审答辩状范文
2015/05/22 职场文书
实习证明模板
2015/06/16 职场文书
草房子读书笔记
2015/06/29 职场文书
html+css实现分层金字塔的实例
2021/06/02 HTML / CSS
Python实现的扫码工具居然这么好用!
2021/06/07 Python
关于MySQL临时表为什么可以重名的问题
2022/03/22 MySQL
Golang jwt身份认证
2022/04/20 Golang