百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

30天学会Python编程:5. Python流程控制

off999 2025-09-12 01:26 3 浏览 0 评论

5.1 流程控制概述

5.1.1 控制结构分类

Python流程控制主要分为三种基本结构:

5.1.2 控制结构基本概念

表5-1 流程控制基本概念

概念

描述

对应关键字

条件执行

根据条件选择执行路径

if, elif, else

循环

重复执行代码块

while, for

循环控制

改变循环正常流程

break, continue

异常处理

处理程序运行时错误

try, except, finally

5.2 条件语句(if)

5.2.1 if语句基本结构

语法原型

if condition1:
    # 代码块1
elif condition2:
    # 代码块2
else:
    # 代码块3

执行流程图

5.2.2 条件表达式

三元运算符形式

value = true_value if condition else false_value

应用示例

age = 20
status = "成年" if age >= 18 else "未成年"
print(f"年龄{age}:{status}")

5.2.3 条件判断技巧

多条件组合

# 检查分数等级
score = 85
if 90 <= score <= 100:
    grade = "A"
elif 80 <= score < 90:
    grade = "B"
else:
    grade = "C"

使用any()/all()

conditions = [False, True, True]
if any(conditions):  # 任意为真
    print("至少一个条件满足")
if all(conditions):  # 全部为真
    print("所有条件都满足")

5.3 循环结构

5.3.1 while循环

语法原型

while condition:
    # 循环体
else:
    # 正常结束循环时执行(非break退出)

典型应用

# 猜数字游戏
import random
target = random.randint(1, 100)
count = 0

while True:
    guess = int(input("猜数字(1-100): "))
    count += 1
    if guess == target:
        print(f"恭喜!猜了{count}次")
        break
    elif guess < target:
        print("猜小了")
    else:
        print("猜大了")

5.3.2 for循环

语法原型

for item in iterable:
    # 循环体
else:
    # 正常结束循环时执行

迭代对象示例

# 遍历字符串
for char in "Python":
    print(char, end=" ")
# 输出:P y t h o n

# 遍历字典
person = {"name": "Alice", "age": 25}
for key, value in person.items():
    print(f"{key}: {value}")

5.3.3 range对象

创建数值序列

range(start, stop, step)

实际应用

# 生成1-10的平方列表
squares = [x**2 for x in range(1, 11)]

# 反向遍历
for i in range(10, 0, -1):
    print(i, end=" ")
# 输出:10 9 8 7 6 5 4 3 2 1 

5.4 循环控制语句

5.4.1 break与continue

功能对比

实际应用

# 查找第一个3的倍数
numbers = [1, 5, 9, 2, 6, 4]
for num in numbers:
    if num % 3 == 0:
        print(f"找到第一个3的倍数: {num}")
        break

# 跳过奇数打印偶数
for i in range(10):
    if i % 2 != 0:
        continue
    print(i, end=" ")
# 输出:0 2 4 6 8

5.4.2 else子句

循环else特性

  • 当循环没有被break中断时执行
  • 适用于搜索场景

典型应用

# 检查质数
n = 13
for i in range(2, int(n**0.5)+1):
    if n % i == 0:
        print(f"{n}不是质数")
        break
else:
    print(f"{n}是质数")

5.5 异常处理

5.5.1 try-except结构

基本语法

try:
    # 可能出错的代码
except ExceptionType as e:
    # 异常处理
else:
    # 无异常时执行
finally:
    # 无论是否异常都执行

异常处理流程

5.5.2 常见异常类型

表5-2 Python常见异常类型

异常类型

触发场景

示例

ValueError

值错误

int("abc")

TypeError

类型错误

"a" + 1

IndexError

索引越界

[1,2][3]

KeyError

键不存在

{}["key"]

ZeroDivisionError

除零错误

1/0

FileNotFoundError

文件未找到

open("nonexist.txt")

5.5.3 自定义异常

class MyError(Exception):
    """自定义异常类"""
    def __init__(self, message):
        self.message = message

try:
    raise MyError("发生自定义错误")
except MyError as e:
    print(f"捕获到自定义异常: {e.message}")

5.6 综合应用

案例1:成绩评级系统

def grade_system():
    """根据分数自动评级"""
    while True:
        try:
            score = float(input("请输入成绩(0-100,q退出): "))
            if not 0 <= score <= 100:
                raise ValueError("成绩超出范围")
            
            if score >= 90:
                grade = "A"
            elif score >= 80:
                grade = "B"
            elif score >= 70:
                grade = "C"
            elif score >= 60:
                grade = "D"
            else:
                grade = "F"
            
            print(f"成绩评级: {grade}")
        
        except ValueError as e:
            if str(score).lower() == 'q':
                print("退出系统")
                break
            print(f"输入错误: {e}")
        except Exception as e:
            print(f"发生未知错误: {e}")

if __name__ == "__main__":
    grade_system()

案例2:素数生成器

def is_prime(n):
    """判断是否为素数"""
    if n < 2:
        return False
    for i in range(2, int(n**0.5)+1):
        if n % i == 0:
            return False
    return True

def prime_generator(limit):
    """生成素数序列"""
    count = 0
    num = 2
    while count < limit:
        if is_prime(num):
            yield num
            count += 1
        num += 1

# 使用示例
print("前10个素数:")
for prime in prime_generator(10):
    print(prime, end=" ")
# 输出:2 3 5 7 11 13 17 19 23 29

5.7 学习路线图

5.8 学习总结

  1. 核心要点
  2. 掌握条件判断的各种形式
  3. 理解while和for循环的应用场景
  4. 熟练使用循环控制语句
  5. 正确处理程序异常
  6. 实践建议
  7. 避免过深的嵌套结构
  8. 循环中使用else处理正常结束情况
  9. 异常处理要具体化(避免裸except)
  10. 使用生成器优化内存消耗
  11. 进阶方向
  12. 上下文管理器(with语句)
  13. 协程与异步编程
  14. 迭代器协议实现
  15. 异常链与异常包装
  16. 常见陷阱
  17. 混淆赋值(=)和相等(==)
  18. 循环中修改迭代对象
  19. 异常处理掩盖真实错误
  20. 死循环问题(while True无退出条件)

持续更新Python编程学习日志与技巧,敬请关注!


#编程# #python# #在头条记录我的2025#


相关推荐

pip的使用及配置_pip怎么配置

要使用python必须要学会使用pip,pip的全称:packageinstallerforpython,也就是Python包管理工具,主要是对python的第三方库进行安装、更新、卸载等操作,...

Anaconda下安装pytorch_anaconda下安装tensorflow

之前的文章介绍了tensorflow-gpu的安装方法,也介绍了许多基本的工具与使用方法,具体可以看Ubuntu快速安装tensorflow2.4的gpu版本。pytorch也是一个十分流行的机器学...

Centos 7 64位安装 python3的教程

wgethttps://www.python.org/ftp/python/3.10.13/Python-3.10.13.tgz#下载指定版本软件安装包tar-xzfPython-3.10.1...

如何安装 pip 管理工具_pip安装详细步骤

如何安装pip管理工具方法一:yum方式安装Centos安装python3和python3-devel开发包>#yuminstallgcclibffi-develpy...

Python入门——从开发环境搭建到hello world

一、Python解释器安装1、在windows下步骤1、下载安装包https://www.python.org/downloads/打开后选择【Downloads】->【Windows】小编是一...

生产环境中使用的十大 Python 设计模式

在软件开发的浩瀚世界中,设计模式如同指引方向的灯塔,为我们构建稳定、高效且易于维护的系统提供了经过验证的解决方案。对于Python开发者而言,理解和掌握这些模式,更是提升代码质量、加速开发进程的关...

如何创建和管理Python虚拟环境_python怎么创建虚拟环境

在Python开发中,虚拟环境是隔离项目依赖的关键工具。下面介绍创建和管理Python虚拟环境的主流方法。一、内置工具:venv(Python3.3+推荐)venv是Python标准...

初学者入门Python的第一步——环境搭建

Python如今成为零基础编程爱好者的首选学习语言,这和Python语言自身的强大功能和简单易学是分不开的。今天千锋武汉Python培训小编将带领Python零基础的初学者完成入门的第一步——环境搭建...

全网最简我的世界Minecraft搭建Python编程环境

这篇文章将给大家介绍一种在我的世界minecraft里搭建Python编程开发环境的操作方法。目前看起来应该是全网最简单的方法。搭建完成后,马上就可以利用python代码在我的世界自动创建很多有意思的...

Python开发中的虚拟环境管理_python3虚拟环境

Python开发中,虚拟环境管理帮助隔离项目依赖,避免不同项目之间的依赖冲突。虚拟环境的作用隔离依赖:不同项目可能需要不同版本的库,虚拟环境可以为每个项目创建独立的环境。避免全局污染:全局安装的库可...

Python内置zipfile模块:操作 ZIP 归档文件详解

一、知识导图二、知识讲解(一)zipfile模块概述zipfile模块是Python内置的用于操作ZIP归档文件的模块。它提供了创建、读取、写入、添加及列出ZIP文件的功能。(二)ZipFile类1....

Python内置模块pydoc :文档生成器和在线帮助系统详解

一、引言在Python开发中,良好的文档是提高代码可读性和可维护性的关键。pydoc是Python自带的一个强大的文档生成器和在线帮助系统,它可以根据Python模块自动生成文档,并支持多种输出格式...

Python sys模块使用教程_python system模块

1.知识导图2.sys模块概述2.1模块定义与作用sys模块是Python标准库中的一个内置模块,提供了与Python解释器及其环境交互的接口。它包含了许多与系统相关的变量和函数,可以用来控制P...

Python Logging 模块完全解读_python logging详解

私信我,回复:学习,获取免费学习资源包。Python中的logging模块可以让你跟踪代码运行时的事件,当程序崩溃时可以查看日志并且发现是什么引发了错误。Log信息有内置的层级——调试(deb...

软件测试|Python logging模块怎么使用,你会了吗?

Pythonlogging模块使用在开发和维护Python应用程序时,日志记录是一项非常重要的任务。Python提供了内置的logging模块,它可以帮助我们方便地记录应用程序的运行时信息、错误和调...

取消回复欢迎 发表评论: