私の質問は簡単です。ハングマン ゲームは次のようになります。
私はあまり良いとは思わない方法でインデントを行っています。
私var = "\t"
はすべてのプリントの開始時にそれを持っていて追加していますが、これは非現実的で維持するのが難しいようです.
他の方法でよろしいですか?これは一般的にどのように管理されていますか?
前もって感謝します!
私の質問は簡単です。ハングマン ゲームは次のようになります。
私はあまり良いとは思わない方法でインデントを行っています。
私var = "\t"
はすべてのプリントの開始時にそれを持っていて追加していますが、これは非現実的で維持するのが難しいようです.
他の方法でよろしいですか?これは一般的にどのように管理されていますか?
前もって感謝します!
問題:
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(...)
)
)
テンプレートはHTML専用ではありません。
「あなたの言葉はこんな感じ」のタイプミスは修正したいと思います。次に、ここでprintf
説明するように、スタイルのフォーマットを確認します。
当面の問題に対する迅速な解決策は、ヘルパー関数です。
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 は、多くのオプションといくつかの操作モードを提供します。すぐに習得できるものではないため、端末ベースのアプリケーションでさらに多くのことを行う予定がある場合にのみ意味があります。