📖 项目简介

本系列包含 10 道 Python 编程练习题,围绕 自动驾驶系统的感知与决策​ 这一真实工程场景展开。题目由浅入深,涵盖基础仿真、数据校验、多传感器融合、多帧跟踪、车道级统计等核心模块。旨在帮助学习者:

  • 巩固 Python 基础语法(函数、字典、列表、循环、条件分支)

  • 培养防御性编程思维(边界处理、缺失字段、异常值)

  • 掌握工业级代码的组织方式(模块化、函数拆分、结构化输出)

  • 熟悉自动驾驶领域常见的业务逻辑(TTC 计算、FCW 预警、传感器融合、跟踪稳定性)

  • 项目地址:Python_Exercise


🧩 题目概览

编号

题目名称

领域

核心知识点

难度 (华为OD)

难度 (LeetCode)

适用对象

1

brake_simulate.py

制动仿真

函数定义、字典操作、条件判断、边界截断、运动学公式

入门

Easy

Python 初学者

2

complete_cl_simulate.py

闭环仿真

while 循环、状态更新、函数复用、简单决策树

简单~中等

Easy

初级开发者

3

fcw_decision.py

FCW 预警决策

多级决策、列表字典遍历、错误处理、结构化输出

中等

Easy-Medium

中级开发者

4

sensor_fusion.py

传感器融合

加权平均、多层函数调用、字典键检查、批量处理

简单

Easy

初级开发者

5

traffic_light_warning.py

红绿灯预警

多分支决策树、单位换算、时间计算、批量处理

简单~中等

Easy

中级开发者

6

waypoint_validity_check.py

路径点校验

字典键检查、范围校验、逻辑校验、批量过滤

简单

Easy

Python 初学者

7

multi_sensor_fusion.py

多传感器融合(扩展)

多源数据合并、校验、来源统计、模块化设计

简单~中等

Easy

初级开发者

8

dangerous_ttc_filter.py

危险 TTC 过滤

嵌套遍历、TTC 计算、统计分组、去重逻辑

中等

Easy-Medium

中级开发者

9

lane_level_warning.py

车道级目标预警

三维嵌套遍历、按车道分组、缺失键处理、最危险车道判定

中等

Easy-Medium

中级开发者

10

multi_frame_tracking.py

多帧跟踪稳定性

跨帧聚合、按 track_id 分组、平均 TTC、排序输出

中等

Easy-Medium

中级开发者

说明:难度评级参照华为 OD 机试和 LeetCode 体系,侧重工程实现而非算法技巧。


🎯 题目特点

  1. 场景真实:所有题目均脱胎于自动驾驶系统开发中的实际子任务,如制动决策、FCW 预警、传感器数据融合、目标跟踪稳定性分析。

  2. 由浅入深:第 1-2 题为单步/闭环仿真,第 3-4 题引入决策和融合,第 5-8 题增加复杂条件分支和数据校验,第 9-10 题要求处理多维嵌套数据并进行聚合统计。

  3. 强调防御性编程:几乎每道题都明确要求处理缺失字段、异常值、除零、空列表等边界情况,这正是工业级代码与竞赛代码的重要区别。

  4. 结构化输出:所有题目均要求返回特定格式的字典或列表,培养数据建模和接口设计能力。

  5. 模块化设计:鼓励将复杂逻辑拆分为多个小函数(如 calculate_decelerationvalidate_targetfuse_sensors),便于测试和维护。


👥 适用对象

  • Python 初学者:可从第 1、6 题入手,掌握基础语法和函数编写。

  • 初级开发者:建议完成第 2、4、7 题,学习循环、列表字典操作和简单模块化。

  • 中级开发者:推荐挑战第 3、5、8、9、10 题,锻炼复杂条件分支、数据聚合和边界处理能力。

  • 自动驾驶入门者:整套题目可作为理解感知、决策、融合概念的实践辅助材料。

  • 求职备战者:特别适合准备华为 OD 机试(中等难度)或自动驾驶相关岗位的笔试面试。


🚀 学习建议

  1. 先独立尝试:每道题至少自己动手实现一遍,不要直接看答案。

  2. 重视边界测试:除了题目给出的示例,尝试构造极端输入(空列表、缺失字段、负数速度等),验证代码的鲁棒性。

  3. 对比优化:完成后再查看参考答案或与他人交流,比较代码的可读性、简洁度和性能。

  4. 扩展延伸:可以尝试为某些题目添加单元测试(如 pytest),或者将单帧处理扩展到实时流式处理。

  5. 刷题对标:如需进一步提升,可配合 LeetCode 上标签为 ArrayHash TableSimulation 的 Easy-Medium 题目,以及华为 OD 题库中的“数据统计”“日志分析”类题目。


📄 文件结构

.
├── README.md                  # 本文件
├── 1_brake_simulate.py        # 单步制动模拟
├── 2_complete_cl_simulate.py  # 完整闭环仿真
├── 3_fcw_decision.py          # FCW 预警决策
├── 4_sensor_fusion.py         # 传感器融合(基础)
├── 5_traffic_light_warning.py # 红绿灯预警
├── 6_waypoint_validity_check.py# 路径点校验
├── 7_multi_sensor_fusion.py   # 多传感器融合(扩展)
├── 8_dangerous_ttc_filter.py  # 危险 TTC 过滤
├── 9_lane_level_warning.py    # 车道级目标预警
└── 10_multi_frame_tracking.py # 多帧跟踪稳定性

📜 许可

本项目仅供学习交流使用,遵循 MIT License。

更多推荐