默认情况下,Python程序的执行是顺序执行,不过这样不能满足我们开发中的需求,比如我们根据用户输入的年龄给出不同的输出结果,那么此时就需要用到Python的条件控制语句if else。

下面分别介绍Python if else 几种不同的语法。

if 语句

语法:

if [boolean expression]:
    statement1
    statement2
    ...
    statementN

Python if 条件语句

if  关键字后面可以跟任何计算结果为True或False的布尔表达式,然后输入英文的冒号: 回车,接下来可以编码您在布尔表达式后面的程序。

注意:回车后的缩进建议为4个空格,保持整个代码缩进的统一。

下面看一个if条件表达式的例子:

#!/usr/bin/python
# coding=utf-8
age = 24
if age>=22:
    print('您已满男性适婚年龄')
上面的例子中,因为 age>=22,所以执行if条件的后面的代码块。

多个if的例子:

#!/usr/bin/python
# coding=utf-8
age = 24
if age>=22:
    print('您已满男性适婚年龄')
age2 = 22
if age2>=20:
    print('您已满女性适婚年龄')

上面的例子,我们增加了一个if条件判断,这个和上一个例子没有太多的区别。

if else 语句

if else 语句是在前面的if语句的基础上面加了一个else 流程控制,其中else 跟在if 条件语句的后面,当if 条件为False的时候执行else 条件后面的代码块。

语法如下:

if [boolean expression]:
    statement1
    statement2
    ...
    statementN
else:
    statement1
    statement2
    ...
    statementN
Python if else 条件语句

我们看到else关键字要和if关键字对齐,也是输入英文的冒号: 回车,接下来可以编码您在布尔表达式后面的程序。

通过if else 我们可以实现比if条件语句更多个功能,看下面的例子:

#!/usr/bin/python
# coding=utf-8
age = 24
if age>=22:
    print('您已满男性适婚年龄')
else:
    print('您不到男性适婚年龄')

上面的例子中,当输入的age>=22时,输出'您已满男性适婚年龄',否则将输出:'您不到男性适婚年龄'。

对于if else 可以实现我们的条件判断,但是当条件很多的时候它就又不适用了,比如:

期末成绩,老师给学生分数评级,60到70为及格,70-80为中,80到90为良,90-100为优秀。

接下来介绍elif 条件语句可以解决我们的问题。

elif 条件语句

elif 条件语句是在if和else之间使用的条件判断语句,而且它可以是多个elif表达式。

语法如下:

if [boolean expression]:
    [statements]
elif [boolean expresion]:
    [statements]
elif [boolean expresion]:
    [statements]
else:
    [statements] 
elif 关键字后面跟 布尔表达式,也是输入英文的冒号: 回车,接下来可以编码您在布尔表达式后面的程序。

结合上面述说的优良中差,看下面的例子:

#!/usr/bin/python
# coding=utf-8
score=82
if score>=60 and score<70:
    print('成绩为及格')
elif score>=70 and score<80:
	print('成绩为中')
elif score>=80 and score<90:
	print('成绩为良')
elif score>=90:
	print('成绩为优秀')
else: 
        print('不及格')

上面的例子中,分数score为82,进入条件判断:

  • 首先进入if 条件判断(score>=60 and score<70)是不满足的,
  • 然后执行第一个elif 条件判断(score>=70 and score<80),仍旧不满足,
  • 接下来执行第二个elif条件(score>=80 and score<90)判断,此时它是满足的。

所以输出结果为'成绩为良'。

if elif else 嵌套使用

在Pyhton中可以使用if elif else嵌套,解决更为复杂的条件判断逻辑。

if elif else 嵌套使用

我们将上面的例子改为if elif else 嵌套的方式:

#!/usr/bin/python
# coding=utf-8
score=82
if score>=60:
	if score < 70:
		 print('成绩为及格')
	elif score>=70 and score<80:
		print('成绩为中')
	elif score>=80 and score<90:
		print('成绩为良')
	elif score>=90:
		print('成绩为优秀')
elif score>=50 and score<60:
	print('及格还需努力')
elif score>=40 and score<50:	
	print('上课要听讲')
else: 
    print('不及格')
输出:
成绩为良

 上面的例子中嵌套的if语句后面还需要再缩进4个空格,即8个空格,简单来说每嵌套一层需要缩进4个空格。