if - elif 语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的 if .else.elif语句详解

将 if-elif-else 语句放在一行上?

Python 条件判断语句(if ,elif, else)

Python条件控制语句

python基础--条件语句if else

Python学习笔记2(控制语句)