Python 中条件选择语句的第三种形式:if-elif-else,对于前面介绍的 if 分支语句,执行过程非常简单,判断 if 语句中的表达式是否为True真,如果为True程序就会执行 if 语句下面的代码块,if语句中的判断结果为False假,就会依次判断 elif 语句中的表达式,如果为True真,程序就会执行 elif 中的代码块……(if语句之后可以有任意数量的elif语句)如果前面所有条件都为False假,程序就会执行 else语句下面的代码块,else语句最多只可以有一个语句。
python开发
下面通过三个实例让大家进一步熟悉和掌握 if-elif-else语句
实例01:编程实现在控制台应用程序中输入学生的语文、数学、英语三门考试成绩,单科满分100分,通过学生成绩评定等级,学员等级评定标准如下:
1. A:平均分>=90分
2. B:90分>平均分>=80分
3. C:80分>平均分>=70分
4. D:70分>平均分>=60分
5. E:平均分
操作代码:
chinese = int(input("请输入学生的语文成绩:"))
maths = int(input("请输入学生的数学成绩:"))
english = int(input("请输入学生的英语成绩:"))
average = (chinese + maths + english) / 3
ifaverage >= 90:
print("学生的平均分为:%.2f,成绩综合评定为:A"% average)
elifaverage >= 80andaverage
print("学生的平均分为:%.2f,成绩综合评定为:B"% average)
elifaverage >= 70andaverage
print("学生的平均分为:%.2f,成绩综合评定为:C"% average)
elifaverage >= 60andaverage
print("学生的平均分为:%.2f,成绩综合评定为:D"% average)
else:
print("学生的平均分为:%.2f,成绩综合评定为:E"% average)
代码演示:
代码分析:
首先创建三个变量定义数学、语文、英语成绩,并直接把输入的成绩通过int转换为整型;然后通过变量average计算学生的平均分,使用if-elif-else语句来判断学生成绩的等级,如果if语句判断结果为True就执行if语句下面的代码块,反之判断结果为False就执行下面的elif语句,每一个判断语句都具有排他性,判断结果一旦为True就不再往下执行。
python开发
实例02:前面小红花案例的再一次优化,通过编程实现在控制台应用程序中输入学生的语文、数学、英语成绩,单科满分100分,判断条件如下:
1)如果有一门考试成绩是100分
2)如果有两门考试成绩大于90分(含90分)
3)如果三门考试成绩都大于80分(含80分)
满足三个条件中的任意一个,就奖励一朵小红花
操作代码:
chinese = int(input("请输入学生的语文成绩:"))
maths = int(input("请输入学生的数学成绩:"))
english = int(input("请输入学生的英语成绩:"))
course =""
ifchinese == 100ormaths == 100orenglish == 100:
if(chinese == 100): course +="语文 "
if(maths == 100): course +="数学 "
if(english == 100): course +="英语 "
print("考试科目:%s考了100分,奖励一朵小红花!"% course)
elif(chinese >= 90andmaths >= 90)or(chinese >= 90andenglish >= 90)or(maths >= 90andenglish >= 90):
if(chinese >= 90): course +="语文 "
if(maths >= 90): course +="数学 "
if(english >= 90): course +="英语 "
print("考试科目:%s高于90分,奖励一朵小红花!"% course)
elifchinese >= 80andmaths >= 80andenglish >= 80:
print("三门考试科目:语文、数学、英语都大于80分,奖励一朵小红花")
else:
print("考试成绩不合格,没有小红花!")
代码演示:
python条件选择
代码分析:
定义三个科目的变量,并把输入的学生成绩直接转换为整型;通过if-elif-else语句判断学生的考试成绩,首先通过if语句判断三个科目是否有考100分的,如果有就执行if下面的代码块,就不再执行下面的成绩;如果判断结果为False没有100分的科目就依次执行下面的elif语句,如果elif语句判断的结果都为False就执行else下面的代码块。
python基础入门
实例03:编程实现在控制台中输入一个月份,然后判断这个月份属于哪个季节
3-5月春季,6-8月夏季,9-11月秋季,12-2月冬季
操作代码:
month = int(input("请输入一个月份:"))
if(month == 3ormonth == 4ormonth == 5):
print("%d月是春季"% month)
elif(month == 6ormonth == 7ormonth == 8):
print("%d月是夏季"% month)
elif(month == 9ormonth == 10ormonth == 11):
print("%d月是秋季"% month)
elif(month == 12ormonth == 1ormonth == 2):
print("%d月是冬季"% month)
代码演示:
代码分析:
通过if-elif判断输入的月份,同样具有排他性,一旦判断结果为True就不再继续往下执行了,在前期基础案例里面,每个代码演示都会有很多中操作方法,也有很多的小bug,重点在理解相关的知识点。
总结:Python 中条件选择语句分为三种,分别是 if 语句、if else 语句和 if elif else 语句。这3种分支语句的语法格式和执行流程如图:
if 语句是独立的,每个if都会判断一次,无论是否为true;
if else是两种可能,如果if为真,就执行if下的代码,如果if为false,就执行else下面的代码;
if elif else语句是一个整体,具有排他性,第一个if判断为true就不在往下进行判断,如果为false就继续往下判断。
每天进步一点点,跟着教头学Python。
领取专属 10元无门槛券
私享最新 技术干货