详解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 相关文章推荐
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
May 22 Python
python简单实现操作Mysql数据库
Jan 29 Python
PyQt5每天必学之进度条效果
Apr 19 Python
基于windows下pip安装python模块时报错总结
Jun 12 Python
python中copy()与deepcopy()的区别小结
Aug 03 Python
解决python 自动安装缺少模块的问题
Oct 22 Python
Python监控服务器实用工具psutil使用解析
Dec 19 Python
你可能不知道的Python 技巧小结
Jan 29 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
Mar 06 Python
django中url映射规则和服务端响应顺序的实现
Apr 02 Python
Pytorch中的学习率衰减及其用法详解
Jun 05 Python
利用For循环遍历Python字典的三种方法实例
Mar 25 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
一个显示某段时间内每个月的方法 返回由这些月份组成的数组
2012/05/16 PHP
PHP的Json中文处理解决方案
2016/09/29 PHP
php fseek函数读取大文件两种方法
2016/10/12 PHP
php实现将base64格式图片保存在指定目录的方法
2016/10/13 PHP
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
网站接入QQ登录的两种方法
2014/07/22 Javascript
javascript中声明函数的方法及调用函数的返回值
2014/07/22 Javascript
JavaScript点击按钮后弹出透明浮动层的方法
2015/05/11 Javascript
JavaScript实现的经典文件树菜单效果
2015/09/08 Javascript
jQuery原理系列-css选择器的简单实现
2016/06/07 Javascript
Node.JS中事件轮询(Event Loop)的解析
2017/02/25 Javascript
基于vue 实现token验证的实例代码
2017/12/14 Javascript
微信小程序实现团购或秒杀批量倒计时
2020/11/01 Javascript
Vue filter格式化时间戳时间成标准日期格式的方法
2018/09/16 Javascript
js实现坦克移动小游戏
2019/10/28 Javascript
Vue搭建后台系统需要注意的问题
2019/11/08 Javascript
vue相关配置文件详解及多环境配置详细步骤
2020/05/19 Javascript
Vue常用API、高级API的相关总结
2021/02/02 Vue.js
Python中json格式数据的编码与解码方法详解
2016/07/01 Python
Python中模块string.py详解
2017/03/12 Python
Django 实现下载文件功能的示例
2018/03/06 Python
django反向解析URL和URL命名空间的方法
2018/06/05 Python
Python Tkinter模块 GUI 可视化实例
2019/11/20 Python
关于ZeroMQ 三种模式python3实现方式
2019/12/23 Python
如何用python写个模板引擎
2021/01/14 Python
HTML5+CSS3应用详解
2014/02/24 HTML / CSS
美国第二大团购网站:LivingSocial
2016/07/24 全球购物
adidas旗下高尔夫装备供应商:TaylorMade Golf(泰勒梅高尔夫)
2016/08/28 全球购物
世界领先的26岁以下学生和青少年旅行预订网站:StudentUniverse
2018/07/01 全球购物
巴西化妆品商店:Lojas Rede
2019/07/26 全球购物
北京天润融通.net面试题笔试题
2012/02/20 面试题
办公室主任岗位职责
2013/11/08 职场文书
公司年会演讲稿范文
2014/01/11 职场文书
小学红领巾中秋节广播稿
2014/01/13 职场文书
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang
Nginx 配置 HTTPS的详细过程
2022/05/30 Servers