Python流程控制与条件判断详解:if、elif、else及嵌套应用
本文系统讲解Python中的条件判断机制,涵盖if、elif、else语句的语法结构与执行逻辑,深入解析条件嵌套的实现方式。通过出租车计费实战案例,演示如何处理多分支条件与数值计算,帮助开发者掌握布尔类型判断及复杂业务逻辑的代码实现。
初识条件判断(逻辑判断)
逻辑判断与逻辑语句
所谓逻辑判断,即对事物状态进行真假评估的过程。在Python中,这一过程通过bool类型实现,用于区分正确与错误、真与假的逻辑结果。
逻辑业务是指基于逻辑判断的结果执行相应的操作或流程。根据判断得出的真值或假值,程序将执行不同的业务逻辑分支。
条件语句是用于评估特定条件是否成立的代码结构。当条件满足时,触发相应的执行路径;若不满足,则跳过或进入其他分支。
一个完整的逻辑语句由条件语句与业务语句共同构成。条件语句负责评估真假,业务语句负责执行具体操作,二者结合实现逻辑控制。

if 语句
if语句的核心功能是评估条件的真实性。若条件表达式结果为真(即True),则执行紧随其后的逻辑代码块;若为假,则跳过该代码块。
if语句的具体用法可通过以下示例展示:
if bool_result: # 语法块
do # 业务代码块 , 这里需要注意缩进
# >>> bool_result : 判断结果的真假,布尔类型。
# >>> do : 如果 bool_result 为 Treu 时执行的业务代码块。
# >>> if 属于关键字,没有返回值
man = 'Neo'
if man == 'Neo':
print('这个男人的名字叫:', man)
# 执行结果如下:
# >>> 这个男人的名字叫: Neo
man = 'Neo'
if man == 'Neo':
print('这个男人的真实名字叫:', man.replace('Neo', 'Jack'))
# 执行结果如下:
# >>> 这个男人的真实名字叫: Jack
关于逻辑判断应用的总结
在开发复杂功能程序时,逻辑判断是不可或缺的基础组件。对于初学者而言,若无法熟练掌握逻辑判断,将难以进行后续编程工作。因此,重新梳理逻辑判断的定义有助于加深理解与实际应用。
逻辑判断的本质是在程序中评估语句的真假结果,其基本标准依赖于布尔类型。在Python中,布尔类型仅包含两个值:True和False,分别对应数值1和0。
参考以下示例进行理解:
name = '小明'
if name == '小明':
name = '小红'
print(name)
# 执行结果如下:
# >>> 小红
代码解析:程序首先检查变量name是否等于“小明”。若相等,则执行if块内的逻辑,将name的值修改为“小红”,并打印该值。若不相等,则跳过if块,直接打印name。运行结果显示name变为“小红”,表明判断结果为True,成功进入if语句下方的代码块。
if … else … 语句
前文已述,if语句用于判断条件的真实性,若结果为真(True)则执行对应代码块,它是条件为真时的代码入口。else语句则处理相反情况,即条件不满足时的执行路径。
else语句的功能是作为if条件不满足时的代码块入口。当if判断为假时,程序将执行else块内的逻辑。
else语句的具体用法示例如下:
if bool_result: # 语法块
do # 业务代码块 , 这里需要注意缩进
else:
elsedo # else 语法块,需要缩进;缩进等级与 do 语法块一致
# >>> bool_result : 判断结果的真假,布尔类型。
# >>> elsedo : else 语句对应的 python 代码块。
# >>> else 属于语法,没有返回值
# *************************************************************
sleep_time = '22点'
if sleep_time != '22点':
print('还没到 ', sleep_time, '可以再来一局王者农药。')
else:
print('已经 ', sleep_time, '了,该睡觉了。')
# >>> 执行结果如下:
# >>> 已经 22点 了,该睡觉了。
elif 语句
elif(即“else if”)用于处理非首次判断的多种条件情况。每一个elif条件都对应一组特定的业务代码,用于处理不同的逻辑分支。
elif语句的功能是在首次if判断不满足后,继续评估其他条件。它允许程序在多个互斥条件中进行选择。
elif语句的具体用法示例如下:
if bool_result: # 语法块
do # 业务代码块 , 这里需要注意缩进
elif bool_result:
elifdo # 当前 elif 语句对应的语法块
elif bool_result:
elifdo # 缩进等级与 do 语法块一致
else:
elsedo # else 语法块,需要缩进;缩进等级与 do 语法块一致
# >>> elifdo : elif 语句对应的 python 代码块。
# >>> elif 属于语法,没有返回值
new_time = input('请输入时间:')
if new_time=='7点':
print(new_time, '了,该起床了。')
elif new_time=='8点':
print(new_time, '了,该吃早饭了')
elif new_time=='12点':
print(new_time, '了,该吃午饭了')
elif new_time=='18点':
print(new_time, '了,该吃晚饭了')
elif new_time=='22点':
print(new_time, '了,该睡觉了')
else:
print('该干啥干啥')
关于条件判断的条件嵌套
在条件判断程序中,可以在一个条件块内部嵌入新的条件判断语句,从而形成条件嵌套结构。具体逻辑流程如下:

1. 程序首先评估条件1是否为真。
2. 若条件1为真,则进一步判断条件2是否为真。
- 当条件1为真且条件2为真时,执行代码块1。
- 当条件1为真但条件2为假时,执行代码块2。
3. 若条件1为假,则判断条件3是否为真。
- 当条件1为假且条件3为真时,执行代码块3。
- 当条件1为假且条件3为假时,执行代码块4。
具体运行示例如下:
sex = input('请输入性别(man/woman):')
age = int(input('请输入年龄:'))
if sex == 'man':
if age > 60:
print('old man')
else:
print('young man')
else:
if age > 60:
print('old woman')
else:
print('young woman')
首先,用户输入性别为man。
随后,用户输入年龄为20。
程序依次经过第3行的条件判断sex == 'man'以及第9行的条件判断age > 60。
- 根据判断结果,执行第12行的语句。
- 最终输出结果为young man。
条件语句的总结
- 条件语句在满足其中一个条件后,将退出当前的条件判断结构,不再执行后续分支。
- 每个条件语句结构中,必须且仅包含一个if语句;可以包含0个或多个elif语句;同时可以包含0个或1个else语句。
- 在条件语句中,if必须是第一个出现的条件判断语句。
关于条件语句的小练习
需求描述:以下是某城市的出租车收费标准:
起步价为13元,行驶距离在3公里以内(含3公里)均收费13元;
超过3公里但未超过10公里的部分,按基本单价2.3元/公里计算;
超过10公里的部分,基本单价加收20%的费用,即2.76元/公里;
每次行程需加收燃油附加费1元;
请根据上述标准编写出租车计费程序。
具体实现示例如下:
kilometer = float(input('请输入公里数:')) # 获取公里数
Fuel_oil_price = 1 # 燃油附加费
start_price = 13 # 起步价
price = 0 # 初始化费用
if kilometer <= 3:
price = start_price + Fuel_oil_price
print('收费 %s 元' % price)
elif 3 < kilometer <= 10:
price = 2.3 * kilometer + Fuel_oil_price
print('收费 %s 元' % price)
else:
price = 2.76 * kilometer + Fuel_oil_price
print('收费 {} 元'.format(price))
以上为Python流程控制与条件判断的详细内容,更多关于Python条件判断的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













