移动轨迹代码
一.代码下面这段 Python 代码实现了一个简单的「路线追踪」程序用户输入一串由F/B/L/R组成的字母程序模拟从原点出发的移动轨迹并输出每一步的坐标、最终位置和总步数。defprocess_route(s):x,y0,0positions[(x,y)]steps0forchins:ifchF:y1elifchB:y-1elifchL:x-1elifchR:x1else:print(f无效字符:{ch}跳过)continuesteps1positions.append((x,y))route_str-.join(f({px},{py})forpx,pyinpositions)print(f路线{route_str})print(f最终坐标 ({x},{y}))print(f总步数{steps})ifx0andy0:print(已回到起点)else:print(未回到起点)if__name____main__:sinput(请输入一串字母只含F/B/L/R).strip().upper()process_route(s)这个是运行结果。1. 函数定义与初始状态defprocess_route(s):定义函数process_route参数s是用户输入的字符串由F/B/L/R组成。x,y0,0初始化横坐标x和纵坐标y都为0即从原点(0, 0)出发。positions[(x,y)]创建列表positions用来记录每一步的位置。初始时先把起点(0, 0)放进去。steps0初始化计数器steps为0用来统计有效移动的总步数。2. 遍历输入字符forchins:用for循环逐个遍历字符串s中的每个字符ch代表当前字符。ifchF:y1如果当前字符是FForward前进则纵坐标y加1表示向上移动一步。elifchB:y-1如果当前字符是BBackward后退则纵坐标y减1表示向下移动一步。elifchL:x-1如果当前字符是LLeft向左则横坐标x减1表示向左移动一步。elifchR:x1如果当前字符是RRight向右则横坐标x加1表示向右移动一步。else:print(f无效字符:{ch}跳过)continue如果字符不是F/B/L/R中的任何一个就打印提示信息并用continue跳过本次循环不把它当作有效移动。steps1只有遇到有效字符F/B/L/R时步数steps才加1。positions.append((x,y))把移动后的新坐标(x, y)追加到positions列表中记录下这一步的位置。3. 输出结果route_str-.join(f({px},{py})forpx,pyinpositions)用列表推导式把positions中的每个坐标格式化成(px,py)字符串再用-连接起来生成完整的路线字符串。print(f路线{route_str})打印整条路线例如(0,0)-(0,1)-(1,1)。print(f最终坐标 ({x},{y}))打印最终停留的坐标。print(f总步数{steps})打印有效移动的总步数。ifx0andy0:print(已回到起点)else:print(未回到起点)判断最终坐标是否为(0, 0)如果是说明回到了起点否则说明没有回到起点。4. 程序入口if__name____main__:这是 Python 的入口判断只有当该脚本被直接运行时才执行下面的代码如果被当作模块导入则不执行。sinput(请输入一串字母只含F/B/L/R).strip().upper()用input()提示用户输入字符串.strip()去掉首尾空白字符.upper()把所有字母转为大写保证与判断条件一致。process_route(s)调用process_route函数传入用户输入的字符串开始执行路线追踪。5. 运行示例假设输入FFR起点(0,0)F→(0,1)F→(0,2)R→(1,2)输出结果为路线 (0,0)-(0,1)-(0,2)-(1,2) 最终坐标 (1,2) 总步数3 未回到起点二、代码下面这段 Python 代码实现了一个「智能小车决策」程序根据小车与障碍物的距离以及当前电量决定执行哪种动作正常前进、减速前进、停止避障、停止并充电并统计各类动作出现的次数。defdecide_action(distance,battery):ifbattery20:return停止并充电else:ifdistance20:return停止避障elifdistance50:return减速前进else:return正常前进defmain():distances[80,35,10,80,20,50]batteries[60,60,60,15,20,20]actions[]fori,(d,b)inenumerate(zip(distances,batteries),start1):actiondecide_action(d,b)actions.append(action)print(f组号{i}距离{d}cm电量{b}%动作{action})fromcollectionsimportCounter countCounter(actions)print(\n统计结果)print(f正常前进{count[正常前进]}次减速前进{count[减速前进]}次停止避障{count[停止避障]}次停止并充电{count[停止并充电]}次。)print(f四项合计为{sum(count.values())}次。)if__name____main__:main()这是代码运行的结果。1. 决策函数defdecide_action(distance,battery):定义决策函数decide_action接收两个参数distance表示小车与障碍物的距离单位 cmbattery表示当前电量单位 %。ifbattery20:return停止并充电如果电量低于20%说明电量不足直接返回「停止并充电」。这是最高优先级的判断无论距离多远电量不足时都先充电。else:如果电量不低于20%则进入距离判断分支。ifdistance20:return停止避障在电量充足的前提下如果距离小于20cm说明障碍物已经很近返回「停止避障」。elifdistance50:return减速前进如果距离在20cm到50cm之间即20 distance 50说明障碍物有一定距离但不算远返回「减速前进」。else:return正常前进如果距离大于等于50cm说明前方畅通返回「正常前进」。2. 主函数与数据准备defmain():定义主函数main程序的核心逻辑都放在这里。distances[80,35,10,80,20,50]创建列表distances存放 6 组测试数据中每组小车与障碍物的距离。batteries[60,60,60,15,20,20]创建列表batteries存放 6 组测试数据中每组小车的电量。actions[]创建空列表actions用来记录每组数据对应的决策结果。3. 遍历数据并决策fori,(d,b)inenumerate(zip(distances,batteries),start1):用zip把distances和batteries按位置一一配对再用enumerate从1开始编号。循环变量i是组号d是距离b是电量。actiondecide_action(d,b)调用decide_action函数把当前组的距离d和电量b传进去得到决策结果并赋值给action。actions.append(action)把本次的决策结果action追加到actions列表中方便后续统计。print(f组号{i}距离{d}cm电量{b}%动作{action})用 f-string 格式化输出当前组的组号、距离、电量和决策动作。4. 统计结果fromcollectionsimportCounter从标准库collections中导入Counter它是一个计数器可以方便地统计列表中每个元素出现的次数。countCounter(actions)用Counter对actions列表进行计数得到每种动作出现的次数结果保存在count中。print(\n统计结果)打印一个空行和「统计结果」标题让输出更清晰。print(f正常前进{count[正常前进]}次减速前进{count[减速前进]}次停止避障{count[停止避障]}次停止并充电{count[停止并充电]}次。)分别从count中取出四种动作的次数并打印。注意如果某种动作一次都没出现Counter会返回0不会报错。print(f四项合计为{sum(count.values())}次。)用sum(count.values())把四种动作的次数加起来得到总次数并打印。5. 程序入口if__name____main__:main()这是 Python 的入口判断只有当该脚本被直接运行时才调用main()如果被当作模块导入则不执行。6. 运行结果根据给定的 6 组数据程序输出如下组号1距离80cm电量60%动作正常前进 组号2距离35cm电量60%动作减速前进 组号3距离10cm电量60%动作停止避障 组号4距离80cm电量15%动作停止并充电 组号5距离20cm电量20%动作正常前进 组号6距离50cm电量20%动作正常前进 统计结果 正常前进 3 次减速前进 1 次停止避障 1 次停止并充电 1 次。 四项合计为 6 次。

相关新闻

NLP 基础到高级 11:机器翻译

NLP 基础到高级 11:机器翻译

机器翻译 翻译是为 NLP 研究买单三十年的任务,现在仍在持续买单。 类型: 构建 语言: Python 前置条件: Phase 5 10(注意力机制),Phase 5 04(GloVe、FastText、子词) 预计用时: ~75 分钟 问题 模型读取一种语言的句子并生成另一种语言的句子。长度各异。词序各异。…

2026/10/15 14:12:36 阅读更多 →
learnxinyminutes-docs 仓库西班牙语版 Python 速成教程:从基础语法到高级特性的完整实战指南

learnxinyminutes-docs 仓库西班牙语版 Python 速成教程:从基础语法到高级特性的完整实战指南

文档教程 【免费下载链接】learnxinyminutes-docs Code documentation written as code! How novel and totally my idea! 项目地址: https://gitcode.com/gh_mirrors/le/learnxinyminutes-docs 点击查看 免费下载 Python 由 Guido van Rossum 于 90 年代初创造&am…

2026/10/14 9:32:04 阅读更多 →
python uv 基本使用教程

python uv 基本使用教程

前言 先澄清一个身份问题:uv 不是 Python 标准库的一部分。它由 Astral 公司开发,用 Rust 写成,官方对自己的介绍是「一个极快的 Python 包管理器和项目管理器」。要使用它,需要单独安装它本身,标准库里没有 uv 这个模…

2026/10/15 18:23:22 阅读更多 →

最新新闻

不止文本对话:gemma-4-26B-A4B-it-w8a8-llmcompressor图像、视频、音频多模态输入使用指南

不止文本对话:gemma-4-26B-A4B-it-w8a8-llmcompressor图像、视频、音频多模态输入使用指南

大模型模型量化本地部署多模态 【免费下载链接】gemma-4-26B-A4B-it-w8a8-llmcompressor 项目地址: https://ai.gitcode.com/hf_mirrors/amd/gemma-4-26B-A4B-it-w8a8-llmcompressor 点击查看 免费下载 gemma-4-26B-A4B-it-w8a8-llmcompressor 是 AMD 基于 LLM Com…

2026/10/17 6:23:52 阅读更多 →
AMD Ryzen AI笔记本stable-diffusion-1.5-amdnpu部署指南:硬件检测与环境配置完整清单

AMD Ryzen AI笔记本stable-diffusion-1.5-amdnpu部署指南:硬件检测与环境配置完整清单

【免费下载链接】stable-diffusion-1.5-amdnpu 项目地址: https://ai.gitcode.com/hf_mirrors/amd/stable-diffusion-1.5-amdnpu 点击查看 免费下载 想在笔记本上本地跑 AI 绘图?stable-diffusion-1.5-amdnpu 是 AMD 官方为 AMD Ryzen AI(NP…

2026/10/17 6:23:52 阅读更多 →
工业HMI界面协议与Canvas渲染引擎:从AG-UI DSL到高性能绘制实践

工业HMI界面协议与Canvas渲染引擎:从AG-UI DSL到高性能绘制实践

1. 工业现场为什么需要一套自己的界面协议和渲染引擎在工业现场做前端,和做互联网产品完全是两码事。互联网产品可以假设用户设备是主流浏览器、网络稳定、屏幕分辨率统一,但工业现场的设备可能是五年前的工控机、分辨率诡异的触摸屏、跑着定制版系统的嵌…

2026/10/17 6:23:52 阅读更多 →
用NumPy手写两层神经网络:反向传播原理与梯度检查实战

用NumPy手写两层神经网络:反向传播原理与梯度检查实战

最近在整理深度学习相关的学习笔记,翻到编号038那一批时,发现正好是一份关于“反向传播手写实现”的实践记录。当时我把它拆成了两部分,038-1主要讲计算图的拆法和链式法则的数学推导,038-2则是从零手写一个两层神经网络&#xff…

2026/10/17 6:23:52 阅读更多 →
MooTool 中的 glib Rust 绑定:gtk-rs 核心库的源码级解析与 Vendor 回填实践

MooTool 中的 glib Rust 绑定:gtk-rs 核心库的源码级解析与 Vendor 回填实践

桌面应用开发工具 【免费下载链接】MooTool Handy tool set for developers 项目地址: https://gitcode.com/gh_mirrors/mo/MooTool 点击查看 免费下载 glib 是 gtk-rs-core 生态中面向 GLib/GObject 的 Rust 绑定库,它把 C 语言层面向对象系统、动态类…

2026/10/17 6:23:52 阅读更多 →
Airi 开发日志 2025.03.05 技术解读:WebGPU 检测、品牌视觉迭代与舞台过渡动画移植

Airi 开发日志 2025.03.05 技术解读:WebGPU 检测、品牌视觉迭代与舞台过渡动画移植

人工智能AI AgentMCP 服务工具调用GUI 自动化语音数字人交互助手 【免费下载链接】airi 💖🧸 自托管、归你拥有的 Grok 风格 AI 伴侣与 waifu / 赛博生命灵魂容器,目标是接近 Neuro-sama 的高度;支持实时语音聊天、Minecraft 和 F…

2026/10/17 6:22:45 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →