[Python]自动驾驶感知与决策练习题 (1-10)

📖 项目简介

本系列包含 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。

相关推荐
覆东流8 小时前
7.Java数组
java·开发语言·后端
码行山野赴时序归途9 小时前
三道经典数组题:从暴力到最优的算法思维
c语言·开发语言·数据结构·算法·leetcode
lzhdim9 小时前
提高 SQL 语句执行速度的方法
java·开发语言·数据库·sql·oracle
JavaPub-rodert9 小时前
王仕宇在 Go Context 如何解决协程泄漏与超时控制
开发语言·后端·golang·iphone·javapub·王仕宇
小陈的进阶之路9 小时前
Claude Code辅助测试:导入篇skills
python·自动化
whcyhhh10 小时前
头歌实践教学平台:大数据存储2023(六)
大数据·数据库·python
ly768911 小时前
JavaScript 从入门到进阶:核心语法、异步编程与工程化实践
开发语言·javascript·ecmascript
落魄大学生之流水线上谋生计11 小时前
Java锁全面指南:从基础概念到企业级应用
java·开发语言
for_ever_love__11 小时前
python基础语法学习: 闭包
开发语言·python·学习·闭包
ly768911 小时前
Python 全面入门:从核心语法到工程实践
开发语言·python