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

テンプレートはHTML専用ではありません。

于 2011-05-27T04:11:14.820 に答える
0

「あなたの言葉はこんな感じ」のタイプミスは修正したいと思います。次に、ここでprintf説明するように、スタイルのフォーマットを確認します。

于 2011-05-27T04:14:01.637 に答える
0

当面の問題に対する迅速な解決策は、ヘルパー関数です。

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

さらに興味深いものとして、端末ベースの「グラフィカル」なアプリケーション用のライブラリがあります。これは「curses」と呼ばれ、Python でも利用できます: http://docs.python.org/library/curses.htmlhttp://docs.python.org/howto/curses.htmlにチュートリアルがあり、オンラインで詳細を見つけることができます。

Curses を使用すると、あまり労力をかけずに、より興味深いテキストベースの UI を実行できます。持っているものを複製するには、おそらく正しいサイズと位置でウィンドウを作成し ( を使用newwin)、インデントなしでテキストをウィンドウに出力します ( を使用addstr)。Curses は、多くのオプションといくつかの操作モードを提供します。すぐに習得できるものではないため、端末ベースのアプリケーションでさらに多くのことを行う予定がある場合にのみ意味があります。

于 2011-05-27T04:37:53.590 に答える