前面我们学习Python基础语法和数据类型的过程中,已经接触过很多Python的程序代码了,它们都是从第一行往后一行一行地执行,也就是从头到尾的顺序执行。
然而,计算机程序不只是顺序执行,为了实现更多更赋值的逻辑,程序的执行需要更多的流程控制,它们就是条件判断(if else)和循环(for, while)。
条件判断:if else 语句
if
语句就是用来检查一个条件是否为True
来判断程序的执行流程:
如果(if
)条件为True
,则执行一段代码(if代码段),否则(else
)执行另外一段代码(else代码段)。
条件判断过程中,if
可以单独存在,后面的else
可要可不要,根据实际情况而定。
条件判断的语法是这样的:
第一行以if
开头,后面是空格,空格后面就是具体的条件表达式,条件表达式后面以冒号:
结尾;
第二行从第一行的if位置缩进开始写,如果if代码块有多行,这个代码块的多行都要缩进;
接下来是else
,其位置和if
对齐,以冒号:
结尾;
接着是else代码段,规则和if代码段一样。
让我们看看下面这段代码实例,来理解if else
的使用:
# file: demo-if.py
age = 10
if age < 18:
# 这是 if 条件为 True 的代码段
print('you are under age')
else:
# 这是 if 条件为 False 的代码段
print('you are adult')
# 只有if 没有else
if age >= 18:
print('you can drink')
上面这段代码根据年龄来判断是否成年,如果成年了可以有酒喝(注意:喝酒伤身,只可小酌哦)。
如果老猿我没有记错的话,这是该教程开写以来第一次写代码文件,那么多说几句如何来执行一个Python代码文件:
打开 VS code ,按ctrl+n新建一个文件,保存为demo-if.py
,再录入这段代码再保存,在代码编辑区域点击鼠标右键,选择“在终端运行 Python 文件”,即可在下方的终端窗口看到程序的输出。
运行这段代码,输出为:
you are under age
如果把age
改为 20,运行后的输出为:
you are adult
you can drink
条件判断可以有多种分支情况:
- 单分支:只有if
- 双分支:if 和 else
- 多分支:if, elif, else
接下来我们看看多分支的情况:
hour = 10
if hour < 7:
print('it is still night')
elif hour >= 7 and hour < 12:
print('it is forenoon')
elif hour >= 12 and hour <= 13:
print('it is noon')
elif hour > 13 and hour <= 19:
print('it is afternoon')
else:
print('it is night')
通过钟点来判断上午、中午、下午、晚上,这就出现了多赚钱情况,我们可以通过添加不同的elif
条件来增加分支。elif
就是 else if
的简写。
if 语句嵌套
if语句支持嵌套,但是嵌套的层级太多了就会降低程序的可读性和逻辑性。具体实践中不鼓励太多级嵌套哦:
[图片上传失败...(image-6a8be0-1557480935233)]
不鼓励但有时候也得用,我们还是看看嵌套if语句的用法吧,比如上面的hour < 7
我们还可以细分:
if hour < 7:
if hour >= 0 and hour <= 5:
print('it is wee hours')
elif hour > 5:
print('it is dawn')
总结
条件判断让我们在编程时实现复杂的逻辑,根据不同的条件执行不同的代码片段。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。