引入:如果平时执行的过程超过两个分支,则使用if-elif语句
if-elif语句结构
if 判断条件:
要执行的代码
elif 判断条件:
要执行的代码
……
else:
要执行的代码
判断条件:一般为关系表达式或者bool类型的值
执行过程:程序运行到if处,首先判断if所带的条件,如果条件成立,就返回True,则执行要执行的代码;
如果条件不成立,依次往下判断elif的条件,如果又满足则执行相应的代码,如果条件都不成立,则执行else下要执行的代码。
示例1:输入小王(语文,英语,数学)成绩(单科满分100分)判断成绩评定等级
学员评定标准如下:
·成绩>=90分:A
·9分>成绩>=80分:B
·80分>成绩>=70分:C
·70分>成绩>=60分:D
·成绩
chinese_result=int(input("请输入语文成绩:"))
maths_result =int(input("请输入数学成绩:"))
englist_result =int(input("请输入英语成绩:"))
avg_result = (chinese_result+ maths_result + englist_result) /3
ifavg_result >=90:
print("你的平均分为:%.2f,成绩的总和评定为:A"% avg_result)
elifavg_result >=80andavg_result
print("你的平均分为:%.2f,成绩的总和评定为:B"% avg_result)
elifavg_result >=70andavg_result
print("你的平均分为:%.2f,成绩的总和评定为:C"% avg_result)
elifavg_result >=60andavg_result
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 =""
ifchinese==100ormaths ==100orenglist ==100:
if(chinese==100):get_course +="语文、"
if(maths ==100):get_course +="数学、"
if(englist ==100):get_course +="英语、"
print("你的%s得了100分,奖励一朵小红花❀!"% get_course)
elif(chinese>=90andmaths >=90)or(chinese>=90andenglist>=90)or(maths >=90andenglist >=90):
if(chinese>=90):get_course +="语文、"
if(maths >=90):get_course +="数学、"
if(englist >=90):get_course +="英语、"
print("你的%s大于90分,奖励一朵小红花❀!"% get_course)
elifchinese>=80andmaths >=80andenglist>=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==12ormonth==1ormonth==2):
print("%d月是冬季"%month)
elif(month==3ormonth==4ormonth==5):
print("%d月是春季"%month)
elif(month==6ormonth==7ormonth==8):
print("%d月是夏季"%month)
elif(month==9ormonth==10ormonth==11):
print("%d月是秋季"%month)
结果:
C:\python\python.exe C:/python/demo/file2.py
请输入一个月份:8
8月是夏季
Process finished with exit code 0
如果你觉得此文对您有所帮助,可以转发给身边的朋友,一起做一个乐于分享的小猿猿。也可以加入学习群哦:110904096
领取专属 10元无门槛券
私享最新 技术干货