搬砖的也能学Python----if - elif 语句
引入:如果平时执行的过程超过两个分支,则使用if-elif语句
if-elif 语句结构
if 判断条件:
要执行的代码
elif 判断条件:
要执行的代码
……
else:
要执行的代码
判断条件:一般为关系表达式或者bool类型的值
执行过程:程序运行到if处,首先判断if所带的条件,如果条件成立,就返回True,则执行要执行的代码;
如果条件不成立,依次往下判断elif的条件,如果又满足则执行相应的代码,如果条件都不成立,则执行else下要执行的代码。
示例1:输入小王(语文,英语,数学)成绩(单科满分100分)判断成绩评定等级
学员评定标准如下:
- 成绩>=90分:A
- 90分>成绩>=80分:B
- 80分>成绩>=70分:C
- 70分>成绩>=60分:D
- 成绩<60分:E
chinese_result = int(input("请输入语文成绩:"))
maths_result = int(input("请输入数学成绩:"))
englist_result = int(input("请输入英语成绩:"))
avg_result = (chinese_result + maths_result + englist_result) / 3
if avg_result >= 90:
print("你的平均分为:%.2f,成绩的总和评定为:A" % avg_result)
elif avg_result >= 80 and avg_result < 90:
print("你的平均分为:%.2f,成绩的总和评定为:B" % avg_result)
elif avg_result >= 70 and avg_result < 80:
print("你的平均分为:%.2f,成绩的总和评定为:C" % avg_result)
elif avg_result >= 60 and avg_result < 70:
print("你的平均分为:%.2f,成绩的总和评定为:D" % avg_result)
else:
print("你的平均分为:%.2f,成绩的总和评定为:E" % avg_result)
结果:
C:\python\python.exe C:/python/demo/file2.py
请输入语文成绩:45
请输入数学成绩:34
请输入英语成绩:56
你的平均分为:45.00,成绩的总和评定为:E
Process finished with exit code 0
示例2:(之前小红花案例第二次优化)
在控制台应用程序中输入小王(语文,英语,数学)成绩(单科满分100分)
判断:
1)如果有一门是100分
2)如果有两门大于90分
3)如果三门大于80分
满足以上一种情况,则奖励一朵小红花
chinese = int(input("请输入语文成绩:"))
maths = int(input("请输入数学成绩:"))
englist = int(input("请输入英语成绩:"))
get_course = ""
if chinese == 100 or maths == 100 or englist == 100:
if(chinese == 100): get_course += "语文、"
if(maths == 100): get_course += "数学、"
if(englist == 100): get_course += "英语、"
print("你的%s得了100分,奖励一朵小红花❀!" % get_course)
elif(chinese >= 90 and maths >= 90) or (chinese >= 90 and englist >= 90) or (maths >= 90 and englist >= 90):
if(chinese >= 90): get_course += "语文、"
if(maths >= 90): get_course += "数学、"
if(englist >= 90): get_course += "英语、"
print("你的%s大于90分,奖励一朵小红花❀!" % get_course)
elif chinese >= 80 and maths >= 80 and englist >= 80:
print("你的三个科目语文、数学、英语都大于80分,奖励一朵小红花❀")
else:
print("没有获得小红花❀,下次努力哦!")
结果:
C:\python\python.exe C:/python/demo/file2.py
请输入语文成绩:87
请输入数学成绩:86
请输入英语成绩:91
你的三个科目语文、数学、英语都大于80分,奖励一朵小红花❀
Process finished with exit code 0
提问:有了 if- if- , if-else, 为何还需要 if-elif-elif-else ?

左边的条件选择是4个部分,后面两个语句是一个整体,三个if语句加一个if-else,else是和它最近的if匹配的。
右边的是一个整体,执行的过程过程中只能相应一个语句。
示例3:输入一个月份,判断该月份是属于哪个季节:
冬季(12-2月)春季(3-5月) 夏季(6-8月)秋季(9-11月)
month = int(input("请输入一个月份:"))
if(month == 12 or month == 1 or month == 2):
print("%d月是冬季" % month)
elif(month == 3 or month == 4 or month == 5):
print("%d月是春季" % month)
elif(month == 6 or month == 7 or month == 8):
print("%d月是夏季" % month)
elif(month == 9 or month == 10 or month == 11):
print("%d月是秋季" % month)
结果:
C:\python\python.exe C:/python/demo/file2.py
请输入一个月份:8
8月是夏季
Process finished with exit code 0
搬砖的也能学Python----if - elif 语句的更多相关文章
- 比特币搬砖对冲策略Python源码
策略复制地址:https://www.fmz.com/strategy/21023 策略原理 比特币搬砖策略是入门程序化交易的基础策略.原理简单,是新手尝试程序化的好选择,在其黄金时期,比特币搬砖也带 ...
- 目标检测---搬砖一个ALPR自动车牌识别的环境
目标检测---搬砖一个ALPR自动车牌识别的环境 参考License Plate Detection and Recognition in Unconstrained Scenarios@https: ...
- 【Python五篇慢慢弹】快速上手学python
快速上手学python 作者:白宁超 2016年10月4日19:59:39 摘要:python语言俨然不算新技术,七八年前甚至更早已有很多人研习,只是没有现在流行罢了.之所以当下如此盛行,我想肯定是多 ...
- <-0基础学python.第一课->
初衷:我电脑里面的歌曲很久没换了,我想听一下新的歌曲,把他们下载下来听,比如某个榜单的,但是一首一首的点击下载另存为真的很恶心 所以我想有没有办法通过程序的方式来实现,结果还真的有,而且网上已经有有人 ...
- 学Python后到底能干什么?
Python是一种什么语言? Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的Jav ...
- 如何使用银联卡充值美元到BTC-E以及比特币搬砖教程
1,名词解释 搬砖:就是在价格低的平台买入比特币,然后转移到价格高的平台卖出, 一般而言,BTC-E是国外三大比特币交易所中比特币单价最低的一个站,因为其需要用美元充值,相对不方便.之前国内比特币价格 ...
- 关于智普 - 千人免费学|Python培训|国内最权威python培训|html5
关于智普 - 千人免费学|Python培训|国内最权威python培训|html5 智普教育隶属于北京顶嵌开源科技有限公司,成立于2008年. 智普开源是基于Linux系统的互联网开源学习平台,讲求务 ...
- [置顶] 和孩子们一起学Python编程
1. 推荐书名 Computer Programming for Kids and Other Beginners in Python, 4Ed.pdf 中文译名:<和孩子们一起学Pyt ...
- 简学Python第二章__巧学数据结构文件操作
#cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...
随机推荐
- @interface注解类、 @Target:注解的作用目标 @Retention
public @interface xxx 定义注解 @interface 不是interface,是注解类 是jdk1.5之后加入的,java没有给它新的关键字,所以就用@interface 这么个 ...
- 02_HTML5+CSS详解第二天
html5大纲分析工具:https://gsnedders.html5.org/outliner/ <section> <h1>HTML部分</h1> <se ...
- CSS样式中常用的字体名称
css中引入字体: @font-face { font-family: "AncientWar"; src: url('style/css/fonts/AncientWar.ttf ...
- web移动端常见问题解决方案 (转)
总结:本文总结了web移动端的常见问题并附上解决方案,包括:Meta标签.获取滚动条的值.禁止选择文本.屏蔽阴影.css之border-box.css3多文本换行.Retina屏幕高清图片.html5 ...
- CSS核心内容之浮动
1.浮动涉及到左浮动,右浮动,清除浮动. 2.浮点的特点: 1.向指定的方向浮动,并且让出空间 2.如果后面的元素也是浮动的,那么后面的元素就会在碰到前面的浮动的元素或者边框时,就定位在那里 3.如果 ...
- PHP正则匹配与文件编码关系
虽然多数高手认为正则会影响程序效率,但是做数据采集的时候,却很难避免使用正则, 强大的正则表达式用起来很舒服,但是在匹配中文的时候,会出现,明明正则表达式没问题,字符数据里包含符合正则表达式的数据,可 ...
- UVW源码漫谈(三)
咱们继续看uvw的源码,这次看的东西比较多,去除底层的一些东西,很多代码都是连贯的,耦合度也比较高了.主要包括下面几个文件的代码: underlying_type.hpp resource.hpp l ...
- Java基础之Throwable,文件加载
Java中的异常与错误都继承自Throwable,Exception又分为运行时异常(RuntimeException)和编译时异常. 运行时异常是程序的逻辑不够严谨或者特定条件下程序出现了错误,例如 ...
- 洛谷 [P2762] 太空飞行计划问题
最大权闭合子图 胡伯涛论文真是个好东西.jpg 求一个有向图的最大权闭合子图,常应用于有先决条件的最优化问题中 将所有正权点与源点相连,容量为点权; 将所有负权点与汇点相连,容量为点权的相反数; 将原 ...
- BZOJ 4566: [Haoi2016]找相同字符 [后缀自动机]
4566: [Haoi2016]找相同字符 Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 275 Solved: 155[Submit][Statu ...