Python中的条件语句是通过一条或多条语句的执行结果(True或者False)来决定要执行的代码块。主要通过if关键字实现,条件中的其他分支用else。
回到以前读书的时候经常用到的一个例子:给学生的考试成绩评定等级,60以下为不及格,60-80为良好,80以上为优秀。在没有学习编程语言之前,那么我们写伪代码就是下面这个样子:
输入学生的成绩score 如果分数<60:成绩不及格 如果分数>=60 并且 分数<80,则成绩良好 如果分数>=80,成绩优秀
在我们学习python之后,python中针对条件判断语句的执行语法如下:
if 判断条件成立: 执行语句…… else: 执行语句……
多个if条件使用的场景:
if 条件1成立: 执行语句1 elif 条件2成立: 执行语句2 else: 执行语句3
说明:if后面的条件在python中只要是任何非0非空的值,都会认为是True,即认为条件成立。 0或null就会认为是False。
Python没有像其它大多数语言一样使用“{}”表示语句体,而是通过语句缩进来判断语句体,缩进默认为4个空格。每个条件后面要使用冒号(:),表示接下来是满足条件后要执行的语句块,使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
那么,上面的学生分数的案例,在python中编写的话,可以写成下面的格式:
score = int(input("请输入你的成绩:")) if score < 60: print("你的成绩不及格,还需继续努力哟!") if score >= 60 and score <80 : print('你的成绩良好') if score>= 80: print('你的成绩比较优秀')
当然,以上的写法,如果你输入一个非整数的数据,就会报类型转换错误,这里就不去做异常判断了,在以后实际的工作中使用的时候,类似的写法要注意类型转换是否会报错。
以上脚本,虽然能达到效果,但是每个if语句都会去判断一次,显示,这种写法是不推荐,因此,上面的脚本可以改成下面这种写法:
score = int(input("请输入你的成绩:")) if score < 60: print("你的成绩不及格,还需继续努力哟!") elif score >= 60 and score <80 : print('你的成绩良好') else: print('你的成绩比较优秀')
if-elif-else的嵌套使用语法:
格式: if 条件1: if 条件2: 语句1 elif 条件4: if 条件5: pass else: pass else: 语句2 elif 条件3: pass else: pass
注意:为了代码的维护,建议嵌套不要超过3层
检验学习成果的时候到了
列几个题目考考你对条件语句的用法掌握了吗?
1、猜数字,有一个数字,389,猜中第一位才可以继续往下猜,没猜中就现在'很遗憾,没猜中',猜中了就现在#'恭喜你,猜中了,请继续',全猜中,打印'太棒了,全中'
2、输入一个数,判断一个数n能同时被3和5整除
3、输入一个年份,输出是否为闰年,闰年条件:能被4整除但不能被100整除,或者能被400整除的年份都是闰年
4、一个 5 位数,判断它是不是回文数。即 12321是回文数,个位与万位相同,十位与千位相同。根据判断打印出相关信息。
以上问题写不出来的可以微信私聊我。