Python程序流程控制语句:if分支结构


程序结构分为三种:顺序结构、分支结构和循环结构。程序中的语句按照先后顺序执行称为顺序结构。分支结构则根据条件执行不同的代码。循环结构重复执行相同的代码。Python用if语句实现分支结构,用for和while语句实现循环结构。

if分支结构

Python使用if条件语句实现程序的分支结构, 包括单分支、双分支和多分枝结构。

单分支结构

单分支结构是由一个if语句组成的,当条件表达式的运行结果为True时,执行语句块中的代码;当条件表达式的运行结果为False时,不执行语句块中的代码,会执行if条件之后的代码,流程图如图:
在这里插入图片描述

语法如下:

if 条件表达式:
	语句块

示例如下:

# 判断是否是正数
>>> x = eval(input('请输入一个数:'))
>>> if x > 0: 
...		print('您输入的是一个正数') # 满足if条件时执行该语句
>>> print('程序执行完毕') # 无论if条件是否满足都是执行

# 当输入3时:
  您输入的是一个正数
  程序执行完毕
# 当输入-3时:
  程序执行完毕

双分支结构

双分支结构是由if…else…语句组成的,当if条件表达式的运行结果为True时,执行语句块1中的代码;否则执行else下的代码块2的代码,流程图如图:
在这里插入图片描述

语法如下:

if 条件表达式:
	语句块1
else:
	语句块2

示例如下:

>>> x = eval(input('请输入一个数:'))
>>> if x > 0: 
...		print('您输入的是一个正数') # 满足if条件时执行该语句
>>> else:
...		print('您输入的是一个负数或者零') # 否则,执行该语句

# 当输入3时:
  您输入的是一个正数
# 当输入-3时:
  您输入的是一个负数或者零

多分支结构

多分支结构是由if…elif…else…语句组成的,else部分可以省略。多分支结构按先后顺序依次运行,如果if条件表达式运行结果为True,执行语句块1,如果为False则继续判断接下来elif条件表达式的运行结果,如果条件表达式结果为True,则执行相应的语句块,如果为False则继续判断下面的条件。如果所有条件表达式结果均为False,则执行else部分的语句块(else部分的语句块存在)。流程图如图:
在这里插入图片描述

语法如下:

if 条件表达式1:
	语句块1
elif 条件表达式2:
	语句块2
	
......

elif 条件表达式n:
	语句块n
else:
	语句块n+1

示例如下:

>>> score = eval(input("请输入考试成绩: "))
>>> if score >= 90:
>>>     print("优秀")
>>> elif score >= 80:
>>>     print("良")
>>> elif score >= 70:
>>>     print("中等")
>>> elif score >= 60:
>>>     print("一般")
>>> else:
>>> 	print('差')

# 当输入85时

三元表达式

三元表达式是if…else…语句的简化版,语法如下:

表达式1 if 条件表达式 else 表达式2

当条件表达式的结果为True时,将表达式1的值作为三元表达式的结果;否则,将表达式2的值作为三元表达式的结果。示例如下:

>>> a = 5
>>> b = 10
>>> x = a if  a > b else b # 满足a>b的条件则返回a的值,否则返回b的值
>>> print(x)
10

真值测试

Python与C、C++在处理真值和逻辑运算的方式上有所不同。在python中:

  • 任何非0数字和非空对象都为真。
  • 数字0、空对象(如空列表[],空字典{})、None都为False。
  • 比较运算返回True或False。
  • 逻辑运算and和or会返回参与运算的真或假的对象。
  • 短路运算(逻辑运算的一种特例)

猜你喜欢

转载自blog.csdn.net/shield911/article/details/124182882