提到input()函数的时候,我们说软件会根据用户输入的内容决定下一步要显示什么,也就是说,用户输入内容后,软件会进行判断,根据判断结果执行相应的语句。这就需要程序中有判断语句,并且有相应的处理语句,这个过程就叫做流程控制。
在python中,通过if语句来实现上述的功能。常见的结构有:
1.单分支:if
结构如下:
'''
if 条件:
满足条件后要执行的代码
'''
if 3 > 2:
print('the max number is 3')
因为3>2成立,所以执行下面的打印语句,可以看到结果如下:
2.双分支:if-else
结构如下:
'''
if 条件:
满足条件执行代码
else:
if条件不满足时执行的代码
'''
if 3 < 2:
print('the max number is 2')
else:
print('the max number is 3')
执行结果如下:
【注】缩进
可以看到,上面if代码里,每个条件的下一行都进行了缩进,一般是用4个空格,也可以使用tab键,但是需要注意两种不能混用,一个python文件中如果使用空格就不要再使用tab键,反之亦然。这么做的目的是什么呢?试想如果我们不进行缩进,当有多条分支时,其中一个条件成立后,程序怎么知道要执行哪些代码呢?所以为了让程序知道每段代码依赖哪个条件,python规定了强制缩进,这也是python的一大特性。
关于缩进的几个原则如下:
(1)顶级代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进
(2)同一级别的代码,缩进不许一致
(3)官方建议缩进用4个空格,其他个数也可以,但最好不要使用
3.多分支:if-elif-else
结构如下:
'''
if 条件:
满足条件执行代码
elif 条件:
满足此条件且不满足if条件时执行
elif 条件:
满足此条件且不满足前两个条件时执行
elif 条件:
满足此条件且不满足前三个条件时执行
.
.
.
else:
上述条件都不满足时执行
'''
if 3 == 2:
print('3 equal 2')
elif 3 < 2:
print('the max number is 2')
else:
print('the max number is 3')
执行结果如下:
以上就是if语句常见的结构,需要注意的是,代码是从上至下依次判断的,只要满足一个条件,就会执行此条件对应的语句,不会再向下继续进行判断,比如:
score = 85
if score >= 90:
print('A')
elif score >= 80:
print('B')
elif score >= 70:
print('c')
elif score >= 60:
print('D')
else:
print("你需要努力了!")
运行结果为:
虽然score也大于70,但是因为满足了score >= 80这个条件,所以直接输出‘B’,程序不会再继续往下执行。