假如把程序比作走路,当遇到分叉路口时,往哪个方向走时有判断的。
你要判断哪条岔路才是你真正应该走的路。
但是,如果我们想让程序也能处理这样的判断怎么办?
只需要在程序里预设一些条件判断语句,满足哪个条件,就走哪块代码。
这个过程就叫流程控制。
if···else···语句
单分支结构
if 条件:
满足条件后要执行的代码
示例:
if a > b:
print(a)
双分支结构
if 条件:
满足条件后要执行的代码
else:
if条件不能满足就走这段
示例:
age_of_oldboy = 58
if age_of_oldboy > 60:
print("年纪太大")
else:
print("还没有退休")
多分支结构
if 条件:
满足条件后要执行的代码
elif 条件:
上面的条件不满足就走这个
elif 条件:
上面的条件不满足就走这个
elif 条件:
上面的条件不满足就走这个
else:
上面所有的条件不满足就走这个
示例:猜年龄
age_of_oldboy = 58
guess = int(input("guess_age>>>"))
if guess > age_of_oldboy:
print("猜大了")
elif guess < age_of_oldboy:
print("猜小了")
else:
print("猜对了")
示例:成绩匹配
成绩有 ABCDE 5个等级,与分数的对应关系如下:
A : 90 - 100
B : 80 - 89
C : 70 - 79
D : 60 - 69
E : 0 - 59
要求用户输入0 - 100的数字后,能正确打印对应的成绩等级:
score = int(input("输入分数:>>>>"))
if score > 100:
print("分数太高了")
elif score >= 90:
print("A")
elif score >= 80:
print("B")
elif score >= 70:
print("C")
elif score >= 60:
print("D")
else:
print("E")
多分支选择结构有一个特点,就是代码是从上到下依次判断,只要满足一个,就结束判断。
缩进
在上面的if代码中,每个条件的下一行都缩进了4个空格,这就是Python的一大特色。
强制缩进,目的是为了让程序知道,每段代码依赖哪个条件。
如果不通过缩进来区分,程序就不会知道,当条件成立后,应该去执行哪些代码。
在其他的语言中,大多是通过{}来确定确定代码块,比如C, C++, JavaScript都是这样。
例如,通过JavaScript来写一个if语句:
var age_of_oldboy = 58;
if(age_of_oldboy > 60){
console.log("年纪太大");
}else{
print("还没有退休");
}
在有{}来区分代码块的情况下,缩进的作用只剩下让代码变得整洁了。
Python是门精简,优雅的语言,发明者觉得用{}太丑,所以就不再使用,而是采用强制缩进来区分代码块。
Python的缩进有以下几个原则:
同一级别的代码,缩进必须一致。
空格可以使用任意个,但是官方建议缩进4个空格,即一个tab键。