私はPythonでテキストベースのゲームを開発していましたが、一連の条件に基づいて文字列の書式を変更したい場合があります。Pythonの条件付き文字列の書式設定
具体的には、アイテムを説明するテキストを部屋に表示します。問題のアイテムオブジェクトがルームオブジェクトのアイテムリストにある場合に限り、ルームの説明にこれを表示します。設定されている方法では、条件に基づいて文字列を連結するだけでは私が望むように出力されず、それぞれの文字列が異なる場合があります。
私の質問は、ブール条件の結果に基づいて文字列をフォーマットするためのpythonicメソッドはありますか?私はforループ構造を使うことができましたが、ジェネレータ表現に似た、もっと簡単なものがあるのかどうか疑問に思っていました。
私は私が何を意味するかの一般的な例として、文字列形式
num = [x for x in xrange(1,100) if x % 10 == 0]
で、これに似たものを探しています:
print "At least, that's what %s told me." %("he" if gender == "male", else: "she")
が、私はこの例では、有効なPythonではないことを認識し、しかし、それは一般的に、私が探しているものを示しています。ブーリアン文字列の書式設定に有効な式があるかどうかは、上記と同様です。 少しでも検索したところ、条件付き文字列の書式設定に特に関連するものは見つかりませんでした。私は一般的に書式文字列に関するいくつかの投稿を見つけましたが、それは私が探しているものではありません。
本当にそういうものが存在すれば、非常に便利です。私はまた、提案されるかもしれない他の方法にも開いています。あなたが提供できる任意のヘルプに事前に感謝します。
カンマとセミコロンを削除すると有効なpythoになりますn – yurib
非コード解法: 'それら'を使用する(あなたが求めているのではなく、この質問はかなり古いと知っています) – poxip
@poxip、代名詞が複数の人物を参照していない限り文法上正しいわけではありません。それを言って、私はいくつかのスタイルのガイドが行って、この想像もできない構造をすでに承認したと信じていますが、私はそれがゴミだと思っています。 – Bobort