条件判断
在Python宇宙,条件判断语句总共有三种表现形式,我们先从最简单的单向判断:if开始说起
一、单向判断:if
单向判断:if代表什么呢?如果……就
Fraction = 50
if Fraction <60:
print('成绩不及格')
#运行结果
成绩不及格
那么,这段代码是如何实现的呢?
首先,第一行代码,用赋值运算符=对当前情况进行赋值:将60赋值给Fraction
第二步,确定if条件:如果变量Fraction的值<60时,就执行冒号后,下一行的命令
用print()命令打印出结果:成绩不及格
所以,if语句的单向判断逻辑,我们可以这样归纳:
在条件判断代码中的冒号:后、下一行内容的前面,会空几个格,但这是为什么呢?
在计算机的沟通语言中,空格的学名叫缩进,比如我们写文章都要空两个格,这就叫首行缩进。
对于Python而言,冒号和缩进是一种语法。它会帮助Python区分代码之间的层次,理解条件执行的逻辑及先后顺序。【注:缩进是四个空格或一个Tab键】
二、双向判断:if…else…
Fraction = 70
if Fraction <60:
print('成绩不及格')
else:
print('成绩及格')
很多时候,我们不能把鸡蛋放在一个篮子里,要做好两手准备:如果不满足条件时,我们要怎么办。
Python则很贴心地,让我们借用if…else…语句,让码农们有了另一种选择——【如果…不满足,就…】
三、多向判断:if…elif…else…
在判断3个或3个以上的条件时,我们就需要借助Python中的多向判断命令:if…elif…else…
这三者共同构成了多向判断的命令逻辑关系:如果if的条件不满足,就按顺序看是否满足elif的条件,如果不满足elif的条件,就执行else的命令
那么,这个代码要怎么写呢?我们还是在代码中来感受一下elif的逻辑
Fraction = 85
if Fraction < 60:
print('成绩不及格')
elif 60 <= Fraction < 80:
print('成绩及格')
else:
print('成绩优秀')
if嵌套
historyscore=26
if historyscore>=60:
print('你已经及格')
if historyscore>=80:
print('你很优秀')
else:
print('你只是一般般')
else:
print('不及格')
if historyscore<30:
print('学渣')
else:
print('还能抢救一下')
计算机执行的顺序就是:
1.先给historyscore赋值
2.因为if和else是只能留一个的互斥关系,if和else下的代码块只会执行一个,所以计算机要判断赋值的内容满足【historyscore>=60】还是【historyscore<60】的条件——如果满足if的条件,就执行if缩进下的内容,如果不满足就执行else缩进下的内容;