在网格中控制机器人而不自毁

mazbot的Python项目详细描述


马兹伯特

简介

这个存储库实现了一个robot,它对放置在5x5大小的表上的命令做出响应。机器人将忽略所有命令,直到它被放在桌子上。它也不会执行会使它从表中掉下来的命令。在

  • 可以提供给robot的命令有PLACE、MOVE、LEFT、RIGHT和REPORT。在
  • 机器人既有位置(x,y)坐标,也有方位(北、东、南、西)。在
  • “移动”命令将机器人朝当前所面对的方向移动一步。在
  • 向左和向右指令将使机器人在各自的方向旋转90度。在
  • REPORT命令将打印出robot的当前位置,以及它的标准输出方向。在

例如,包含以下内容的文件:

PLACE 0,0,NORTH
MOVE
REPORT

将输出:

^{pr2}$

标准化。在

先决条件

这个存储库需要PythonV3.6或更高版本才能运行,以及它的依赖项(在requirements中定义)_开发.txt)已安装(请参见用法部分)。在

用法

要求中定义的首次安装依赖项_开发.txt文件(最好是在新的虚拟环境中):

pip install -r requirements_dev.txt

mazbot的输入应该在一个文本文件中提供(对于示例文件,请检查input_files目录的内部)。输入文件的路径需要作为命令行参数提供(见下文)。在

要将mazbot作为CLI工具运行,请执行以下操作:

python -m mazbot --input-file <input_path_in_quotes>

例如:

python -m mazbot --input-file 'input_files/input_file_1.txt'

使用:

pytest

从根目录运行包上的所有测试

更改:

conf/logging_conf.py

更改包的日志记录配置

对于开发者

  • 您可以通过在根目录下运行pytest来运行包的测试。运行tox将对所有python版本3.8、3、7和3.6运行测试
  • 您也可以通过Makefile访问有用的命令。例如,运行makecoverage生成覆盖率报告,运行makedocs使用Sphinx生成文档(包括使用内置docstring的API文档)
  • Travis CI管道将在push-to-all分支上运行所有测试,并在标记为的上构建并推送到PyPI存储库。在
  • 您可以使用bump2version命令自动生成版本号和标记(例如bump2version patch将增加一个补丁版本,并根据当前版本应用递增的标记)
  • 存储库与PyPI集成用于存储库构建索引,readthedocs用于联机文档,以及pyup用于自动更新依赖项。自从存储库在GitHub上变为私有后,这些功能要么部分起作用,要么当前不起作用。在

变化

存储库遵循功能分支工作流。对存储库的修改应该发生在一个功能分支中,分支名称预先加上feature/(例如feature/refactoring)。只有在提交了至少一个批准的请求时,才应合并到主节点。在

已知问题和限制

  • The robot only supports a 5x5 grid at present. Support for other sizes (e.g. through command line arguments) was deprioritized since the problem statement specifically asks for those dimensions, though the implementation code has been written in an agnostic fashion
  • Integrations with PyPI, readthedocs, pyup are either partially or not currently working ever since the repository was made private on GitHub.

其他

  • 免费软件:麻省理工学院许可证
  • 文档:https://mazbot.readthedocs.io。(自从GitHub项目被移为私有项目后就没有更新过)

学分

此包是用Cookiecutteraudreyr/cookiecutter-pypackage项目模板创建的。在

历史

0.1.0(2020-07-18)

  • PyPI的第一个版本。在

0.1.6(2020-07-19)

  • 机器人功能端到end(从通过CLI提供的文件路径读取到输出到stdout)
  • 读取Docs、pyup、pypi集成工作

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
当您有许多具有不同密钥值的位置时,java Enterprise是加密环境变量的正确方法   java如何使用视图保持器模式制作自定义适配器?   java如何迭代Camel体中的嵌套列表?   序列化用base 64进行Java序列化   java打开文件的最佳方式(并确保选择了文件)   java marvin图像色差插件错误   java如何在eclipse中添加属性文件文件夹   比较java。util。日历日期到java。util。日期   java无法在下一个类(活动)中获取哈希表   java如何将这段代码转换为循环?   java查找通过REST失败   java getIntent返回null   在Java中,如何通过外部集合从内部集合检索数据?   java单点登录以保护REST API和内部基于web的系统