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.exeC:/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 >= 90and 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.exeC:/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


  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值