前面给大家介绍的if-if分支结构是只要条件满足就会执行;而if-else的语句结构是前面的条件成立执行什么操作,则下面的分支结构就不会被执行,若前面的条件不成立(否则)做什么。以下通过三个案例给大家演示if-else语句的使用方法:
实例01:编程实现只有当用户输入用户名和密码正确时,才能成功登陆系统;反之则登陆失败,无法进入系统
提示登录的用户输入用户名和密码;
如果用户名和密码都输入正确, 则提示"欢迎登录"
如果用户名或密码输入错误,则提示"用户名或密码输入错误"
假定用户名是:steven,密码是:123456
操作代码:代码缩进请参考演示截图
username=input("请输入用户名:")
password=input("请输入密码:")
if username.strip().lower() == "steven"and password == "123456":
print("欢迎登录!")
else:
print("用户名或密码输入错误!")
代码演示:
代码分析:
创建用户名和密码的变量,通过if语句判断用户输入的用户名和密码是否正确,如果输入正确则执行下面的操作,显示结果为"欢迎登录",在判断的过程中会通过strip去掉字符串前后的空格,使用lower把输入的用户名转换成小写,这样用户输入的用户名大小写都支持;如果if语句不成立,就执行else下面的语句。
实例02:编程实现在控制台应用程序中输入学生的语文、数学、英语三门考试成绩,单科满分100分
判断:
1)如果三门科目成绩都>=60分,则提示:恭喜你,通过了所有科目的考试!
2)若有一门成绩<60分,则提醒:很遗憾,没有通过所有考试,需补考科目:(没有及格的考试科目)
操作代码:代码缩进请参考演示图片
Chinese = int(input("请输入语文成绩:"))
Maths = int(input("请输入数学成绩:"))
English = int(input("请输入英语成绩:"))
course = ""
if Chinese >= 60 and Maths >= 60 and English >= 60:
print("恭喜你,通过了所有科目的考试!")
else:
if Chinese < 60:
course += "语文 "
if Maths < 60:
course += "数学 "
if English < 60:
course += "英语 "
print("很遗憾,没有通过所有考试,需补考科目:" + course)
演示结果:
代码分析:
定义三个科目的变量,并且直接把输入的成绩转换成整数;通过if语句判断三门考试科目是否都>=60分,如果条件成立,则执行print语句显示"恭喜你,通过了所有科目的考试!";反之如果条件不成立,则执行下面else中的代码块,继续通过if语句判断每一个科目是否<60分,通过3个if分别来判断三个科目,三个if语句都会执行操作,如有科目<60分就添加到course变量里面,并打印结果。
实例03:用编程实现在控制台应用程序中输入学生的语文、数学、英语的成绩,单科满分100分
判断条件:
1)如果有一门考试成绩是100分
2)如果有两门考试成绩大于90分(含90分)
3)如果三门考试成绩都大于80分(含80分)
满足三个条件中的任意一个,就奖励一朵小红花
操作代码:代码缩进请参考演示截图
Chinese = int(input("请输入学生的语文成绩:"))
Maths = int(input("请输入学生的数学成绩:"))
Englist = int(input("请输入学生的英语成绩:"))
course = ""
if (Chinese == 100 or Maths == 100 or Englist == 100):
if(Chinese == 100): course += "语文 "
if(Maths == 100): course += "数学 "
if(Englist == 100): course += "英语 "
print("考试科目:%s考了100分,奖励一朵小红花!" % course)
else:
if(Chinese >= 90 and Englist >= 90) or (Chinese >= 90 and Maths >= 90) or (Maths >= 90 and Englist >= 90):
if(Chinese >= 90): course += "语文 "
if(Maths >= 90): course += "数学 "
if(Englist >= 90): course += "英语 "
print("考试科目:%s高于90分,奖励一朵小红花!" % course)
else:
if(Chinese >= 80 and Maths >= 80 and Englist >= 80):
print("三门考试科目:语文、数学、英语都大于80分,奖励一朵小红花")
代码演示:
代码分析:
通过if-else嵌套if-else来实现需求。首先if条件语句里面嵌套多个if语句分别判断三个科目是否=100分,如果条件不满足,就执行else里面的嵌套语句,在else语句中又嵌套了一个if-else语句来判断是否有两个科目>=90分,如果条件不满足,最后判断三个科目是否都>=80分,小于80分不显示任何结果。
总结:if-else语句语法结构:
判断条件:一个返回bool值的条件表达式,后面要使用冒号:,接下来是满足条件后要执行的代码块。
执行过程:程序运行到if的时候,首先判断if所带的条件是否成立,如果条件成立,就是返回值True,则执行下面的代码块;如果判断条件不成立则返回值False, 继续执行else下面的代码块,相同缩进的语句在一起组成一个代码块。
每天进步一点点,跟着教头练起来吧。