python:漂亮打印深层嵌套字符串(mastermind游戏)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python:漂亮打印深层嵌套字符串(mastermind游戏)相关的知识,希望对你有一定的参考价值。
这是一个深层嵌套的长字符串......
{HHCAA:{00:GGEDB:{00:FFFFF,01:DFDFF:{...
请参阅此链接以获取完整的字符串>>> mastermind github string
这个字符串与这个原始问题相关>>> Mastermind Strategy
如何打印字符串,以便我们可以跟进到最后并使其成为查找表...例如我想找到第一个00, 01, 02, 03 and so on...
请看下面的一些摘录:
{HHCAA:
{00:GGEDB:{00:FFFFF,01:xxxx...}}}},
01:DCDCB:{00:EEHFF:xxxx
02:xxxx
03:xxxx
在第1列打印的第一个嵌套大括号,缩进它为下一个打印5个空格,然后再次缩进..然后再次返回到第1列..并再次开始缩进等,或使其成为表格。
答案
Python的标准漂亮打印工具将为嵌套对象创建缩进的多行输出,但不会为字符串创建,因为无法事先知道什么代表嵌套在“深度嵌套”字符串中。
假设花括号({
,}
)是定义嵌套的分隔符,您有两个选择:
- 将您的字符串转换为python字典并使用
pprint.pprint
- 编写自己的工具来解析字符串并生成输出。如果你只对花括号感兴趣,你只需要维护一个跟踪嵌套级别的计数器,增加
{
并递减}
。这使您可以随时计算所需的缩进。如果在您的示例中,当您找到{
时,并不总是移动到新行,则需要添加一些逻辑。
以上是关于python:漂亮打印深层嵌套字符串(mastermind游戏)的主要内容,如果未能解决你的问题,请参考以下文章