用于处理纵横字谜的python库

crossword的Python项目详细描述


纵横字谜图片::https://pypip.in/version/crossword/badge.svg
:目标:https://pypi.python.org/pypi/crossword/
:alt:latest version

…图片::https://pypip.in/download/crossword/badge.svg
:目标:https://pypi.python.org/pypi/crossword/
:alt:downloads

……图片::https://pypip.in/py_versions/crossword/badge.svg
:目标:https://pypi.python.org/pypi/crossword/
:alt:支持的python版本

…图像::https://pypip.in/license/crossword/badge.svg
:目标:https://pypi.python.org/pypi/crossword/
:alt:license

这个库提供了一个规范的数据结构
,可以用来表示应用程序中的纵横填字。它提供了一种pythonic方法,可以对网格、单词和谜题的线索执行常见的操作。


该库是为美国纵横字谜风格的谜题而设计的,例如《纽约时报》
纵横字谜,不过也支持合理的变化。

处理以下文件的读写:

*跨lite.puz文件
*ipuz.ipuz文件



代码块::bash

$pip install crossword




代码::python

from crossword import crossword



代码::python

对于拼图中的行:
对于行中的单元格:
pass


您还可以使用"cells"(从左到右,从上到下)进行迭代:

。代码::python

x,y在拼图中。单元格:
打印(拼图[x,y])


您可以使用诸如"cell"和"solution"等属性存储单元格内容:

。代码::python

puzzle[x,y].cell=
puzzle[x,y].solution="a"
puzzle[x,y].style={'background-color':'red'}


代码::python



每个谜题都有在都柏林核心元数据元素集中指定的属性,
version 1.1,其中包括creator、date、description、identifier和title。默认情况下,这些属性的值为none。

代码::python

代码::python

puzzle.cleeds.cross[1]="这是一条线索"
puzzle.cleeds.down[2]="这是一条线索"

代码::python

puzzle.cleeds.all():
print(direction,number,cleed)

代码::python

对于数字,在puzzle.cleeds.cross():
打印(数字,线索)
对于数字,在puzzle.cleeds.down():
打印(数字,线索)

指定的线索号码。如果希望按插入线索的
顺序对线索进行迭代,可以指定sort=none:

…代码::python

puzzle.cleeds.all(sort=none)


代码::python

puzzle.cleeds.all(sort=lambda entry:…)


代码::python

puzzle.content(一个字典中的单元格、线索和元数据)
puzzle.cleeds
puzzle.cleeds.cross
puzzle.cleeds.down
puzzle.meta

表示块单元格和空单元格的值:

…代码::python

puzzle.block
puzzle.empty


none值可能表示使用默认值(例如,""用于
.ipuz puzzle中的块)。


————————————————————————————————————————————————————————————————————————————————————代码::python

open('puzzle.ipuz')作为puzzle_文件:
ipuz dict=ipuz.read(puzzle_file.read())可能引发ipuz.ipuzexception


这需要"ipuz"pa要安装的包:https://pypi.python.org/pypi/ipuz。


您可以使用:

代码::python

ipuz dict=crossword.to_ipuz(puzzle)


我们非常欢迎您的贡献。如果您发现了问题,或者如果您想
建议使用某个功能,请在以下网址打开一个问题单:https://github.com/svisser/crossword/issues。

在安装
包之前,您应该首先创建一个虚拟环境,如下所述。这将使依赖项与系统上的其他python包分离。请参见:https://pypi.python.org/pypi/virtualenv和(可选的)https://pypi.python.org/pypi/virtualenvwrapper。

代码块::bash

$pip install-r dev requirements.txt

您可以使用:

代码块::bash

$tox


这将在各种python版本中运行测试,以确保库在每个版本中都正常工作。

/>*添加对crossword compiler.ccw文件的支持(http://crossword compiler.com)
*添加对crossdown.xwd文件的支持(http://www.crossdown.com/)
*添加对xpf文件的支持(http://www.xwordinfo.com/xpf/)

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

推荐PyPI第三方库


热门话题
如何在Java中使用Scanner以静默方式读取STDIN?   尝试调用方法“无法应用于给定类型”时发生java错误   java TableView和HasMap。keySet()未动态更新   java如何获取@XmlElement注释的值   java我正在尝试使用Runnable和。sleep()将我的JFrame绘图设置为动画,但无法正常工作   java OWASP ZAP代理冻结   java在集群环境中避免Spring批处理作业中的并发   JavaEclipse如何删除被引用库“从类路径”添加的JAR   oop如何在Java中修复UDP服务器?   java JavaFX setText()NullPointerException,尽管我已经设置了控制器和fxml标记   java获取JLabel中的图标位置   子集的java排列和后续运行时分析   安卓 java。ClassCastException:libcore。网http。HttpURLConnectionImpl无法转换为javax。网ssl。HttpsURLConnection   c#发送和接收TCPsocket安卓客户端   tomcat6 Java Melody内存直方图不适用于多个web应用   在Java中从主字符串中提取子字符串   java ElasticSearch通过数组字段作为独占搜索进行搜索   Microsoft SQL Azure上的java Hibernate架构验证失败