引入:如果平时执行的过程超过两个分支,则使用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 语句的更多相关文章

  1. 比特币搬砖对冲策略Python源码

    策略复制地址:https://www.fmz.com/strategy/21023 策略原理 比特币搬砖策略是入门程序化交易的基础策略.原理简单,是新手尝试程序化的好选择,在其黄金时期,比特币搬砖也带 ...

  2. 目标检测---搬砖一个ALPR自动车牌识别的环境

    目标检测---搬砖一个ALPR自动车牌识别的环境 参考License Plate Detection and Recognition in Unconstrained Scenarios@https: ...

  3. 【Python五篇慢慢弹】快速上手学python

    快速上手学python 作者:白宁超 2016年10月4日19:59:39 摘要:python语言俨然不算新技术,七八年前甚至更早已有很多人研习,只是没有现在流行罢了.之所以当下如此盛行,我想肯定是多 ...

  4. <-0基础学python.第一课->

    初衷:我电脑里面的歌曲很久没换了,我想听一下新的歌曲,把他们下载下来听,比如某个榜单的,但是一首一首的点击下载另存为真的很恶心 所以我想有没有办法通过程序的方式来实现,结果还真的有,而且网上已经有有人 ...

  5. 学Python后到底能干什么?

    Python是一种什么语言? Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的Jav ...

  6. 如何使用银联卡充值美元到BTC-E以及比特币搬砖教程

    1,名词解释 搬砖:就是在价格低的平台买入比特币,然后转移到价格高的平台卖出, 一般而言,BTC-E是国外三大比特币交易所中比特币单价最低的一个站,因为其需要用美元充值,相对不方便.之前国内比特币价格 ...

  7. 关于智普 - 千人免费学|Python培训|国内最权威python培训|html5

    关于智普 - 千人免费学|Python培训|国内最权威python培训|html5 智普教育隶属于北京顶嵌开源科技有限公司,成立于2008年. 智普开源是基于Linux系统的互联网开源学习平台,讲求务 ...

  8. [置顶] 和孩子们一起学Python编程

    1. 推荐书名 Computer Programming for Kids and Other Beginners in Python, 4Ed.pdf     中文译名:<和孩子们一起学Pyt ...

  9. 简学Python第二章__巧学数据结构文件操作

    #cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...

随机推荐

  1. linux的8小时差问题解决

    下面是同步时间的解决方法: 1.vi /etc/sysconfig/clock #编辑文件 ZONE="Asia/Shanghai" UTC=false #设置为false,硬件时 ...

  2. MonogoDB 查询小结

    MonogoDB是一种NoSQL数据库 优点: 1.数据的存储以json的文档进行存储(面向文档存储) 2.聚合框架查询速度快 3.高效存储二进制大对象 缺点: 1.不支持事务 2.文件存储空间占用过 ...

  3. c# 类属性和方法

    属性 public 类字段 就相当于c#里面暴露给外面的属性 类似nodejs的 module.exports 但是属性又不同于普通的字段,属性只是外部包装字段 没有自己的任何含量 类似退换后的方法. ...

  4. 为PHP设置服务器(Apache/Nginx)环境变量

    为PHP设置服务器(Apache/Nginx)环境变量 设置环境变量常见的地方为区分开发环境/生产环境,或者定义一些数据库的帐号密码 设置Apache环境变量 指令 设置当前环境变量为DEV SetE ...

  5. 细说Django的admin

    在admin.py中只需要将地Model中某个类注册,即可在Admin中进行增删查改的功能,例如: admin.site.register(models.UserInfo) 这种方式比较简单,如果想要 ...

  6. Centos6.5离线安装lsb_release

    参考 http://www.linuxfromscratch.org/blfs/view/systemd/postlfs/lsb-release.html首先在其他电脑下载lsb_release源码地 ...

  7. 洛谷 [P1963] [NOI2009] 变换序列

    这是一道二分图匹配的题 先%dalao博客 建图并没有什么难的,但是关键在于如何使字典序最小. 一个很显然的想法是先求出一个完美匹配,然后从x集合的第一个元素开始,如果该元素匹配的较小的一个,那么继续 ...

  8. POJ 1681 Painter's Problem [高斯消元XOR]

    同上题 需要判断无解 需要求最小按几次,正确做法是枚举自由元的所有取值来遍历变量的所有取值取合法的最小值,然而听说数据太弱自由元全0就可以就水过去吧.... #include <iostream ...

  9. 一个开源的强类型客户端(.NET 中的 Open Fegin)— Rabbit Go

    在做RabbitCloud(之前是一个RPC,现在是一个微服务框架)的时候往往避不开客户端代理,之前把这些客户端代理都算作服务框架不可缺少的一部分,随着后期的深入发现这些客户端代理其实可以互通,类似s ...

  10. Python tutorial阅读之Python基本运算与基本变量

    将 Python 当做计算器 除法运算 用/表示除法运算时,一般得到的是浮点数,如果我们需要得到整数,可以用运算符// 余数计算 % 幂乘方 系统内置变量_ 内置变量_,存储了最近的结果.如图 字符串 ...