作为控制结构的核心,选择结构在我们生活中无处不在。通过几个例子来了解一下选择结构:
1) 使用手机的时候,如果手机没电,就无法使用,有电可以正常使用。
2) 在登录QQ输入账户密码之后,如果密码正确则登录成功,密码错误则登录失败。
3) 乘高铁的时候,如果到站时高铁还未发车则可以上车,已经发车则无法上车。
这些例子都属于选择结构,在使用选择结构的时候还被分成4种形式,分别是if语句,if...else语句,if...elif..elif多分支语句以及if语句的嵌套,下面会根据这四种形式依次进行讲解。
1. if语句
简单的if语句就是使用if关键字来构成选择语句,它的形式是:
1 2 | if 表达式: 条件语句 |
表达式可以是一个变量或者布尔值,也可以是比较表达式或逻辑表达式,如果表达式的结果为真就会执行条件语句,如果为假就跳出此判断往下继续运行。下面我们还是先通过例子来了解一下。
当我们口渴的时候,我们会去喝水。通过流程图可以看出,此时会对是否口渴进行一个判断,如果口渴了则为True,则往下走执行喝水操作。
那么它的程序对应就是:
1 2 3 4 | you = str ( input ( '是否口渴,回答是或其他任何回答:' )) if you = = '是' : #如果回答‘是’,就会喝水。 print ( '喝水' ) print ( '喝水' ) |
我们还可以通过一条语句实现if语句,例如:
1 2 | x = 1 if X > 0 : print ( 'X是大于0的' ) |
但是并不推荐使用这种写法,这样会影响程序的可读性,所以我们在学习过程中尽量将代码写的整洁易懂。
2. if...else
当我们面临两种选择的时候就要使用到if...else结构,它的格式为:
1 2 3 4 | if 表达式: 条件语句 1 else : 条件语句 2 |
举个例子,当我们要判断某天是否要上班的时候,要对判断当天是否是工作日,如果是工作日,那么就要去上班,如果不是工作日,那么就不去上班。
流程图如下:
对应的程序为:
1 2 3 4 5 | judge = str ( input ( "今天是否工作日(回答是或否):" )) if judge = = '是' : print ( '需要去工作' ) else : print ( '不用去工作' ) |
简单的if...else语句就是通过判断if中的语句是否满足而选择性的执行相关操作。
我们再通过一个简单的例子来强化一下if...else的学习。
1 2 3 4 5 | number = int ( input ()) #先输入一个number if number > = 100 : #判断number是否大于或等于100 print ( 'number是大于或等于100的' ) #满足条件执行此语句 else : print ( 'number小于100' ) #不满足if中的条件就执行此语句 |
需要注意一点是在引用else的时候else是不能单独使用的,else需要和if或while配套使用。