4.1 if语句
人们常说人生就是一个不断做选择题的过程:有的人没得选,只有一条路能走;有的人好一点,可以二选一;有些能力好或者家境好的人,可以有更多的选择;还有一些人在人生的迷茫期不停地在原地打转,找不到方向。程序好比人生,而我们可以对程序进行控制,让它根据条件的不同而选择不同的执行过程。
Python的条件控制由if语句执行,根据执行结果的True或False来执行相应的代码块。如图4-1所示是条件语句的执行过程。
图4-1 if语句流程图
从图中可以大致了解if语句具体的执行过程,简单来说,if语句是通过判断某个变量值是否符合条件,如果符合就执行相应的代码块,如果不符合就执行另一个代码块。Python中最简单的if语句如下所示:
上述代码根据变量number的数值进行判断,如果变量number的数值为1,程序输出“Hello Python”,否则输出“Hello World”。例子中的变量number只是执行了一次条件判断,如果想对变量进行多次判断,可以在上述代码中添加elif语句,具体示例如下:
在上述例子中,我们对变量number设置了三次判断,判断的顺序从上至下依次执行,具体判断说明如下:
(1)首先判断变量number是否等于1,如果符合判断,则输出“Hello Python”并终止整个if语句,否则执行下一个条件判断。
(2)第二个判断是判断变量number是否等于2,如果符合判断,则输出“Hello World”并终止整个if语句,否则执行下一个条件判断。
(3)最后判断变量number是否等于3,如果符合判断,则输出“Hello China”并终止整个if语句,否则程序会输出“Hello Hello”。
上述代码中,我们只需修改变量number的值,程序运行时就会根据变量值的不同而输出不同的结果。如果if语句中的代码块包含另外一个if语句,这种情况称为if嵌套。嵌套是编程语言里比较常见的代码结构,比如字典嵌套、列表嵌套、if嵌套和循环嵌套等。下面我们以代码示例讲述如何实现if嵌套:
在代码中添加变量bool,程序首先判断变量number是否为1,如果符合条件,再对变量bool进行判断,如果变量bool为True,则输出“Hello Python”,否则输出“I Love Python”。需要注意的是,在编写if语句时,每个条件的后面必须添加英文冒号且相应的代码块需使用缩进符来划分。