计算机在解决某个具体问题时,主要是有三种情况,分别是书序执行所有的语句,选择执行部分语句和循环执行部分语句。
选择语句
在python中,选择语句主要有三种形式,分别是if语句,if……else语句,if……elif……else多分支语句
下面对这些语句进行讲解
最简单的if语句
Python中使用if关键字来组成选择语句,其最简单的语法形式如下:
if 表达式:
语句块
其中,表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式,如果表达式为真,则执行语句块的内容,否则不执行,跳过语句块,执行后面的内容
这种形式的if语句相当于汉语中的“如果……就……”
代码如下:
a = 10
b = 20
if a > b:
print(a) #书写格式,if后的语句块要保留空格
print(b) #这里a和b都不执行
print(a,b) #当语句顶格书写时,不被if语句控制
if 0:
print(a)
if True : #条件也可以为布尔值
print(a)
if……else语句
如果遇到只能二选一的条件,Python中提供了if……else语句解决类似的问题,其语法格式如下:
if 表达式:语句块 1
else :
语句块2
其表达式的内容跟单一一个if表达式内容是一样的,如果满足if内的表达式。则执行语句块1,否则执行语句块2
给个简单的例子——输出两个数中较大的那个值
a = 10
b = 20
max = 0
if a > b :
print('最大的数是', a)
else :
print('最大的数是', b)
if……elif……else语句
这个语句可以给我们提供多种选择
其语法格式如下
if 表达式 1:
语句块 1
elif 表达式 2:
语句块 2:
elif 表达式 3:
语句块 3
……
else :
语句块 n
上面的表达式内容也是跟上面if语句表达式内容一样的
给个简单的例子——输出三个数中最大的那个
a = 10
b = 20
c = 5
max = 0
if a > b > c :
print('最大的数是', a)
elif b > a > c:
print('最大的数是', b)
else :
print('最大的数是',c)
if语句的嵌套
前面介绍了3中形式的if选择语句,这3种形式的选择语句之间都可以进行互相嵌套。
例如在最简单的if语句中嵌套if……else语句,语法格式如下:
if 表达式 1:
if 表达式 2 :
语句块 1else :
语句块 2
在if……else语句中嵌套if……else语句,语法格式如下
if 表达式 1:
if 表达式 2:
语句块 1
else :
语句块2
else :
if 表达式 3 :
语句块 3else
语句块3
条件表达式
在程序开发时,经常会根据表达式的结果,有条件地进行赋值。例如,要返回两个数中较大的数,可以使用简化后的条件表达式;
代码如下:
a = 10
b = 20
r = a if a > b else b
print(r)
在使用条件表达式时,先计算中间的条件(a>b),如果结果为True,返回if语句左边的值,否则返回else右边的值。例如上面表达式的结果,即r的值为20