详解Python if-elif-else知识点

小林子
小林子
发布时间:2026-10-13| 3人浏览过
原创

本文深入解析Python中if-elif-else语句的使用,对比嵌套if与elif结构的优劣,强调条件判断的执行顺序对结果的影响,并通过分数判定案例演示如何编写清晰的条件逻辑。

在某些场景下,单一的if...else结构可能无法满足需求。例如,我们需要根据年龄的不同阶段进行分类:

条件1:18岁或以上:adult 条件2:6岁或以上:teenager 条件3:6岁以下:kid

Python if-elif-else知识点

if age >= 18:
  print 'adult'
else:
  if age >= 6:
    print 'teenager'
  else:
    print 'kid'

若采用上述逻辑编写代码,将形成两层嵌套的if...else语句。虽然逻辑上可行,但随着条件增加(如新增3岁以下为baby的情况),代码缩进层级会不断加深,导致可读性显著下降。

if age >= 18:
  print 'adult'
else:
  if age >= 6:
    print 'teenager'
  else:
    if age >= 3:
      print 'kid'
    else:
      print 'baby'

这种层层嵌套的写法不仅使代码结构变得臃肿,也增加了维护难度。

为了解决嵌套带来的复杂性,推荐使用if...多个elif...else...的结构,将所有条件判断整合在一起:

if age >= 18:
  print 'adult'
elif age >= 6:
  print 'teenager'
elif age >= 3:
  print 'kid'
else:
  print 'baby'

其中,elif即else if的缩写。采用这种结构可以使条件判断的逻辑层次更加清晰明了。

需要特别注意:这一系列条件判断会按照从上到下的顺序依次执行。一旦某个条件判断为True,系统将执行对应的代码块,并立即忽略后续所有条件判断,不再继续检查。

请分析以下代码的执行逻辑:

age = 8
if age >= 6:
  print 'teenager'
elif age >= 18:
  print 'adult'
else:
  print 'kid'

当age = 8时,输出结果正确;但当age = 20时,为何没有打印出adult?

针对上述问题,应如何修正代码以确保逻辑正确?

任务

若需根据考试成绩划分等级:

90分或以上:excellent

80分或以上:good

60分或以上:passed

60分以下:failed

请编写程序,根据输入的分数打印对应的等级结果。

答案

score = 85

if score >= 90: print 'excellent' elif score >= 80: print 'good' elif score >= 60: print 'passed' else : print 'failed'

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。