课程 在 Python 技能树

Python 实践挑战

本课程包含大量 Python 挑战,每个挑战都是一个小的 Python 项目,配有详细的说明和解决方案。通过解决这些挑战,你可以练习 Python 技能,提高问题解决能力,并学习如何编写简洁高效的代码。

Python

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

大纲

打印 Hello Python

将小时转换为秒

检查年龄限制

寻找克隆人士兵

统计学习数据

合并实验记录

查找相加等于目标值的整数对

工作文件分类与整理

使用 Requests 开发网络爬虫

提取营养信息

存储学习记录

Conda 环境管理

基础 Python 数学运算符

身体质量指数(BMI)计算器

使用 Python 进行徒步小径监测

Python 闰年检查器挑战

长单词计数器

Python 回文检查器

小于 100 的质数之和

打印乘法表

处理时间计算器

Python 温度转换工具

学校评分系统

所有偶数之和

从整数列表中查找目标表达式

食谱推荐程序

命令行计算器

使用 Python 进行文件管理

经过时间计算器

使用 Python argparse 生成定制化问候语

使用 F 字符串生成个性化消息

小型在线书店

大使馆访客跟踪管理

简易购物车

渗透测试中的加密与解密

基于水果的 Python 技能练习

使用 Python 跟踪手工珠宝销售情况

电影院门票

自动化网页打开

计算器单元测试

统计字符串中重复字符的数量

局部作用域和全局作用域

操作数字的魔法方法

操作字符串的魔法方法

打印三角形

Python 类继承

释放装饰器的强大能力

实现支持 TTL 的属性装饰器

数学表达式求值器

学校考勤追踪器

时间差计算器

时间飞逝,时光试炼

分析访问日志统计信息

Tqdm 基础用法

构建虚假人物

构建 Python 计算器

公交车乘客容量计算

完成一个 JSON 解析器

统计数据类型

统计元音字母

创建 Python 迭代器

数据类型操作

开发饮水量追踪应用程序

字典键值交换器

找出两个列表的交集

消防站警报系统

购物清单生成器

酒店房间可用性检查器

让对象表现得像字典

让对象表现得像列表

让对象表现得像集合

使用 PIL 处理图像

多线程在线市场模拟

大型数据集的并行计算

使用多进程处理实现 Python 并行处理

邮政编码分配程序

练习赋值表达式

Python 集合交集函数

使用 Pathlib 进行 Python 风格的文件路径管理

实时数据处理系统

精通正则表达式

学校招生系统

学校考试分析

学校考试评分器

精简你的 Pythonic 代码

接龙打字与字符串处理

使用 Python 海象运算符解决问题

decimal 模块

释放 unicodedata 的潜力

小镇镇长投票系统

使用 Python 进行仓库库存管理

使用 BeautifulSoup 进行网页数据抓取

使用 Python 进行货币兑换

错误和异常处理

像专家一样操作文件

玩转文本数据

处理 JSON 文件

发送 SOS 信号

时区转换器

实现基于令牌的用户认证

简介

Python 实践挑战收录了 104 个相互独立的编程问题,帮助你把 Python 知识转化为可运行的解决方案。挑战从计算、条件判断、字符串和集合等小任务开始,逐步扩展到命令行工具、面向对象设计、文件处理、Web 数据与并发编程。

本课程采用“先挑战”的形式:每道题都会说明需要实现的具体结果,提供自动检查,并附有可在尝试后查阅的解答。课程包含 53 个 Beginner、47 个 Intermediate 和 4 个 Advanced 挑战,既适合持续练习,也适合针对特定技能进行检验。

你将学到什么

  • 将简短需求转化为能够产生可验证结果的 Python 程序
  • 解决计算、分支、循环、字符串、集合和搜索问题
  • 设计函数、迭代器、类、魔术方法、继承、属性和装饰器
  • 解析和转换文本、正则表达式、JSON、日志、路径、文件、日期及时区数据
  • 构建命令行工具,并练习输入验证、异常处理和单元测试
  • 使用 Requests、Beautiful Soup、Pillow、tqdm、SQLite 和 conda 等指定库与工具
  • 将线程、多进程和异步编程应用于并发任务
  • 对照参考解答,并利用自动反馈修正自己的实现

本课程适合谁

本课程适合已经掌握 Python 基础语法、希望进行大量问题求解练习的学习者。初学者可以从较短的入门挑战开始;经验更多的学习者则可选择涉及装饰器、文件处理、网页抓取、身份验证或并发编程的中高级题目。

前置要求: 你应当能够编写并运行简单的 Python 脚本,并理解变量、条件判断、循环、函数、字符串和常用集合类型。较高级的挑战默认你已了解对应主题;课程不会在测试之前从零讲解每个概念。

学习环境: 大多数挑战在带编辑器和终端的 Ubuntu 22.04 WebIDE 中运行,另有 4 个使用 Ubuntu 22.04 VNC 桌面。课程会提供起始文件、测试和所需样例;部分挑战会安装 Beautiful Soup、Pillow、aiohttp、Requests、pytz 和 tqdm 等辅助包。

常见问题

104 个挑战都是入门难度吗?

不是。课程包含 53 个 Beginner、47 个 Intermediate 和 4 个 Advanced 挑战。课程级别表示可以从入门题开始,但后续题目可能要求装饰器、命令行解析、线程、多进程或异步编程知识。

这些是引导式课程,还是需要独立解决的问题?

它们是“先挑战”的练习。你会拿到要求和必要的起始资源,然后实现结果并运行自动检查。每个任务步骤都提供解答,因此在自行尝试后可以比较思路。

必须按顺序完成挑战吗?

不必。各挑战彼此独立,并非同一个累计式应用的组成部分。只要已掌握相关 Python 概念,你可以从前面的基础题开始,也可以按主题和难度选择题目。

课程包含一个大型综合项目吗?

不包含。课程由许多自成一体的小项目场景组成,而不是单一综合项目,因此能在语言特性、标准库模块、指定第三方包和不同问题类型之间获得更广泛的重复练习。

教师

labby
Labby
Labby is the LabEx teacher.