Python中的分支控制主要是通过if-elif-else语句实现的,它包含几种类型的分支:
-
顺序结构 和 选择结构:程序的基本执行顺序是先执行顺序结构,然后遇到条件判断会根据条件的结果执行相应的分支。Python中的选择结构就是基于条件的流程控制,如
if
、elif
(else if)、else
。 -
单分支:当只有一个可能的分支时,可以仅用一个
if
语句,如果条件为真,则执行相应的代码块。 -
双分支(也叫二元分支):使用
if...else
,当满足if
条件时执行第一个代码块,否则执行else
后的代码块。 -
多分支:通过组合使用
if
和elif
,可以根据多个条件分别设置对应的代码块。例如,可以有多个elif
条件检查,直到找到其中一个成立为止。 -
分支嵌套:在一个条件语句内部再嵌套另一个条件语句,即可以在
if
语句里继续使用if...else
结构,这被称为分支嵌套,可以实现更复杂的逻辑控制。 -
pass关键字:在分支结构中,如果没有其他操作,可以用
pass
占位,表示这里暂时不做处理,只是空行。pass
不会被执行,但它避免了语法错误
一.顺序结构
顺序结构就是从上向下逐行执行,每一行都要执行
结果如下:
二.、选择结构
通过条件可以确定是否执行开启的代码块,对应的代码要么执行,要么不执行,Python中的选择结构就是基于条件的流程控制,如if
、elif
(else if)、else
。
选择结构主要分为单分支、双分支、多分支
1.单分支:当只有一个可能的分支时,可以仅用一个if
语句,如果条件为真,则执行相应的代码块。
# 输入一个数字 如果这个数字是奇数 则执行四句话
value_str = input("输入一个数字")
value = int(value_str)
if value % 2:
print("好好学习 天天睡觉")
print("好好学习 天天睡觉")
print("好好学习 天天睡觉")
print("好好学习 天天睡觉")
运行结果如下:这是因为1对2求余 余1为真所以可以运行,但是2对2求余为0 所以不运行
2.双分支(也叫二元分支):使用if...else
,当满足if
条件时执行第一个代码块,否则执行else
后的代码块。
# 输入一个数字 如果这个数字是奇数 则执行 好困呀
# 否则执行 一点都不困
value_str = input("输入一个数字")
value = int(value_str)
if value % 2 == 1:
print("好困呀")
print("好困呀")
print("好困呀")
print("好困呀")
print("好困呀")
else:
print("一点都不困")
print("一点都不困")
print("一点都不困")
print("一点都不困")
print("一点都不困")
运行结果如下:
3.多分支:通过组合使用if
和elif
,可以根据多个条件分别设置对应的代码块。例如,可以有多个elif
条件检查,直到找到其中一个成立为止。
value_str = input("请输入一个字母")
if value_str == "a":
print("第一个节课好困呀")
elif value_str == "b":
print("第二个节课好困呀")
elif value_str == "c":
print("第三个节课好困呀")
elif value_str == "d":
print("第四个节课好困呀")
else:
print("请输入a-d中间的一个字母")
运行结果如下:
三.分支嵌套:在一个条件语句内部再嵌套另一个条件语句,即可以在if
语句里继续使用if...else
结构,这被称为分支嵌套,可以实现更复杂的逻辑控制。
value_str = input("输入一个数字")
value = int(value_str)
if value % 2 == 1:
value2_str = input("请输入一个数字")
value2 = int(value2_str)
if value2 % 2 == 1:
print("闯关成功")
else:
print("再接再励")
else:
value3_str = input("请输入一个字母")
if value3_str == "a":
pass
elif value3_str == "b":
pass
elif value3_str == "c":
pass
else:
if True:
pass
运行结果如下:
四.pass关键字:在分支结构中,如果没有其他操作,可以用pass
占位,表示这里暂时不做处理,只是空行。pass
不会被执行,但它避免了语法错误
if 条件:
语句块