假如把程序比作走路,当遇到分叉路口时,往哪个方向走时有判断的。
你要判断哪条岔路才是你真正应该走的路。
但是,如果我们想让程序也能处理这样的判断怎么办?
只需要在程序里预设一些条件判断语句,满足哪个条件,就走哪块代码。
这个过程就叫流程控制。
if···else···语句
单分支结构
```Python if 条件: 满足条件后要执行的代码 ``` 示例: ```Python if a > b: print(a) ```双分支结构
```Python if 条件: 满足条件后要执行的代码 else: if条件不能满足就走这段 ``` 示例: ```Python age_of_oldboy = 58 if age_of_oldboy > 60: print("年纪太大") else: print("还没有退休") ```多分支结构
```Python if 条件: 满足条件后要执行的代码 elif 条件: 上面的条件不满足就走这个 elif 条件: 上面的条件不满足就走这个 elif 条件: 上面的条件不满足就走这个 else: 上面所有的条件不满足就走这个 ``` 示例:猜年龄 ```Python 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的数字后,能正确打印对应的成绩等级: ```Python 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语句: ```JavaScript var age_of_oldboy = 58; if(age_of_oldboy > 60){ console.log("年纪太大"); }else{ print("还没有退休"); } ``` 在有{}来区分代码块的情况下,缩进的作用只剩下让代码变得整洁了。
Python是门精简,优雅的语言,发明者觉得用{}太丑,所以就不再使用,而是采用强制缩进来区分代码块。
Python的缩进有以下几个原则: