0

我的问题很简单,刽子手游戏是这样的:

在此处输入图像描述

我正在以一种我认为不是很好的方式进行缩进。

我只是var = "\t"在每次打印时添加并添加它,这似乎不切实际且难以维护。

你还有别的办法吗?这一般是如何管理的?

提前致谢!

4

4 回答 4

1

问题:

print('\tthis')
print('\tis')
print('\tan')
print('\texample')

解决方案=抽象!:

def echo(string, indent=1):  # name it whatever you want, e.g. p
    print('\t'*indent + string)

echo('this')
echo('is')
echo('an')
echo('abstraction')

更好的解决方案 = 模板:

template = """
{partial}
 ______
{hangman}
|_________

Your points so far: {points}
You've entered (wrong): {wrong}

Choose a letter:
"""

print(
    template.format(
        partial=..., 
        hangman='\n'.join('|'+line for line in hangmanAscii(wrong=2).splitlines()), 
        points=..., 
        wrong=', '.join(...)
    )
)
于 2011-05-27T04:37:45.987 回答
0

一个帮助函数可以快速解决您当前的问题:

def put(text): print "\t" + text

对于更有趣的东西,有一个基于终端的“图形”类应用程序库。它被称为“curses”,在 python 中也可用: http: //docs.python.org/library/curses.html。这里有一个教程http://docs.python.org/howto/curses.html,你可以在网上找到更多。

Curses 使得无需太多努力就可以制作更有趣的基于文本的 UI。要复制您所拥有的,您可能会创建一个具有正确大小和位置的窗口(使用newwin),然后在没有任何缩进的情况下打印文本(使用addstr)。Curses 提供了很多选项和几种操作模式。它学起来并不快,因此只有在您打算使用基于终端的应用程序做更多事情时才有意义。

于 2011-05-27T04:37:53.590 回答
0

模板不仅仅适用HTML。

于 2011-05-27T04:11:14.820 回答
0

我可能会修正“你这个词看起来像这样”中的错字。然后查看printf样式格式,如此所述。

于 2011-05-27T04:14:01.637 回答