Python流程控制详解:从单分支到巢状if语句
本文系统讲解Python中的流程控制与分支结构,涵盖顺序、分支及循环三大结构。重点解析if单分支、双分支、多分支及巢状分支的语法与运行机制,通过具体代码示例演示条件判断逻辑,帮助开发者掌握Python核心控制流用法。
在Python编程中,流程控制决定了代码执行的顺序。理解并掌握流程控制是编写高效程序的基础。
流程控制主要包含三种结构:顺序结构、分支结构和循环结构。
概念:
流程:代码执行的过程
流程控制:对代码执行过程的管控
流程控制三大结构:
(1)顺序结构:从上到下,代码依次执行
(2)分支结构: 一共4个
(3)循环结构:while for
分支结构允许程序根据条件执行不同的代码路径,是处理逻辑判断的核心机制。
(1) 单分支
(2) 双分支
(3) 多分支
(4) 巢状分支
if单分支结构是最基础的条件判断形式。其语法为:if 条件表达式: 代码块。运行机制是,当条件表达式成立(结果为真)时,执行缩进后的代码块;否则跳过该代码块。需要注意的是,代码块以冒号开始,通过缩进划分作用域。例如,当变量name1等于'小郭'时,程序会输出'我叫: 小郭';若条件不满足,则无任何输出。
语法:
if 条件表达式:
代码块
运行机制:
如果条件表达式成立(为真),则执行代码块,否则不执行代码块。
注:代码块-->以冒号作为开始,用缩进来划分相同的作用域,这个整体称之为代码块。
作用域-->产生作用的区域
# 例一
name1 = '小郭'
if name1 == '小郭':
print('我叫:',name)
# 结果:
# 我叫: 小郭
# 例二
name2 = '哈哈'
if name == '小郭':
print('我叫:',name)
# 条件表达式不成立,没有运行结果。
if双分支结构在单分支基础上增加了else子句。语法为:if 条件表达式: 代码块1 else: 代码块2。运行机制为:若条件成立,执行代码块1(真区间);若条件不成立,则执行代码块2(假区间)。例如,当money为5时,因不满足大于5的条件,程序执行else分支输出'乘公交车回家'。此外,双分支常用于登录验证,如同时检查用户名和密码是否正确,分别输出成功或失败信息。
语法:
if 条件表达式:
代码块1
else:
代码块2
运行机制:
如果条件表达式成立(为真),则执行代码块1;
如果条件表达式不成立(为假),则执行代码块2;
注:
if 下面的代码块叫做 真区间
else 下面你的代码块叫做 假区间
# 例一
money = 5
if money > 5:
print('乘出租车回家')
else :
print('乘公交车回家')
# 运行结果:
# 乘公交车回家
# 例二
username = input('请输入用户名:')
password = input('请输入密码')
if username=='小郭' and password=='0000':
print('登录成功,欢迎来到~~')
else :
print('登录失败,密码或的用户名错误')


if多分支结构通过elif子句处理多种条件情况。语法为:if 条件1: 代码块1 elif 条件2: 代码块2 ... else: 代码块N。运行机制是从上到下依次判断,一旦某个条件成立,执行对应代码块后不再检查后续条件;若所有条件均不成立,则执行else分支。elif可以有多个,但else最多一个。例如,根据年龄判断未成年、中年或老年状态;或根据用户选择的水果编号输出对应水果名称。需注意示例中可能存在逻辑重复或错误,实际使用时应确保条件互斥且覆盖完整场景。
语法:
if 条件表达式1:
代码块1
elif 条件表达式2:
代码块2
elif 条件表达式3:
代码块3
else:
代码块4
运行机制:
默认从上到下
如果条件表达式1成立则执行代码块1,否则向下执行
如果elif里的某个条件表达式成立。则执行对应的代码块。
如果if和elif里的条件表达式没有一个成立,则执行else对应的代码块。
注:
如果有一个条件表达式成立,就执行这个条件表达式对应代码块的内容,
剩下的所有条件表达式和else对应的代码块都不执行了。
elif 可以是1个,也可以是多个,
else 只能是1个,或者没有
# 例一
age = 20
if age>0 and age<=18:
print('未成年')
elif age>18 and age<=60:
print('中年')
elif age>60:
print('老年')
# 结果:
# 中年
# 例二print('''1: 榴莲2:椰子3:水蜜桃4:哈密瓜5:芒果''')num = int(input('请选择你喜欢的水果:'))if num==1:print('你喜欢吃榴莲')elif num==2:print('你喜欢吃椰子')elif num==2:print('你喜欢吃水蜜桃')elif num==3:print('你喜欢吃苹果')elif num==4:print('你喜欢吃哈密瓜')elif num==5:print('你喜欢吃芒果')else :print('你不喜欢吃水果')# 例二
print('''
1: 榴莲
2:椰子
3:水蜜桃
4:哈密瓜
5:芒果
''')
num = int(input('请选择你喜欢的水果:'))
if num==1:
print('你喜欢吃榴莲')
elif num==2:
print('你喜欢吃椰子')
elif num==2:
print('你喜欢吃水蜜桃')
elif num==3:
print('你喜欢吃苹果')
elif num==4:
print('你喜欢吃哈密瓜')
elif num==5:
print('你喜欢吃芒果')
else :
print('你不喜欢吃水果')


巢状分支是指在一个if语句的代码块内部再嵌套另一个if语句,形成多层判断结构。这种结构适用于需要同时满足多个条件的复杂场景。例如,依次验证姓名、性别、年龄、职业和学历,只有所有条件均满足时才输出完整信息,任一条件不满足则给出相应错误提示。巢状分支虽灵活,但过度嵌套会降低代码可读性,建议适度使用。
多层if结构嵌套组合形成巢状分支
name = '小郭'
sex = '男'
age = 22
occupation = '学生'
grade = '大三'
if name == '小郭':
if sex == '男':
if age == 22:
if occupation == '学生':
if grade == '大三':
print("我叫:{},性别{}:,年龄:{},职业:{},工龄:{}".format(name,sex,age,occupation,grade))
else:
print("哈哈,你的学历不在记录中")
else:
print("年龄错误")
else:
print("名字错误")
# 结果:
# 我叫:小郭,性别男:,年龄:22,职业:学生,工龄:大三
本文简要介绍了Python中if语句的各种分支结构及其应用场景。
希望本文能帮助您更好地理解Python的流程控制机制,欢迎持续关注以获取更多技术内容。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













