Python流程控制与条件判断详解:if、elif、else及嵌套应用

沿途有光
沿途有光
发布时间:2026-10-15 | 2人浏览过
原创

本文系统讲解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条件判断的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表