用于处理纵横字谜的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/)
:目标: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/)