为什么需要条件判断
前面学的程序都是从上往下一行行顺着跑。但现实里经常要看情况办事:分数够 60 算及格、不够算不及格;年龄够 18 才算成年。让程序「按情况走不同的路」,就要用条件判断。
用「岔路口」理解最直观:走到路口,满足条件(比如天晴)走左边,否则走右边。if 就是程序里的岔路口。
条件是一个布尔表达式
if 后面那个条件,必须能算出一个「真」或「假」。这种只有真假两种结果的式子叫布尔表达式。结果是真(True)就走 if 那一支,假(False)就跳过。
常用的比较运算:
75 >= 60 # True(大于等于)
75 == 60 # False(判断相等,两个等号)
75 < 60 # False(小于)
75 != 60 # True(不相等)== 和 = 千万别搞混
这是新手最容易踩的坑。一个等号 = 是「赋值」,把右边的值放进左边的变量;判断「两边是否相等」要用两个等号 ==。
if score == 60: # 对:判断 score 是不是 60
if score = 60: # 错:会直接报语法错误elif:多个岔路口
不止两条路时,在 if 和 else 中间插 elif(else-if,也就是「否则如果」),可以接连问好几个条件:
if score >= 90:
print("优秀")
elif score >= 60:
print("及格")
else:
print("不及格")程序从上往下逐关检查,命中一条就执行那一支,然后立刻结束整组判断,剩下的不再看。所以 if-elif-else 永远「只走中的那一条」。
缩进圈定分支管哪些行
和循环一样,Python 靠缩进(通常 4 个空格)来表示「这几行属于哪个分支」。if / elif / else 那行末尾都要有冒号 :,下面缩进的行才归它管;一旦顶格不缩进,就跳出判断,无论条件真假都会执行。漏冒号、漏缩进是这一课最高频的两个报错。