質問

現在、Python でメソッドを取得して、文字列フォーマッタにプラグインする 0、1、または 2 つの文字列のリストを返し、それらを文字列メソッドに渡そうとしています。私のコードは次のようになります:

class PairEvaluator(HandEvaluator):
  def returnArbitrary(self):
    return ('ace', 'king')

pe = PairEvaluator()
cards = pe.returnArbitrary()
print('Two pair, {0}s and {1}s'.format(cards))

このコードを実行しようとすると、コンパイラは IndexError を返します。タプルインデックスが範囲外です。
戻り値を引数として渡すにはどのように構造化すればよいですか .format()?

役に立ちましたか?

解決

print('Two pair, {0}s and {1}s'.format(*cards))
D

あなただけの星が欠落しています

他のヒント

Python 2.6 での導入時点では、% 演算子よりも形式が優先されます。 http://docs.python.org/2/library/stdtypes.html#str.format

また、書式文字列を変更するよりも、* -- を使用してタプルを解凍するか、* -- を使用して辞書を解凍するだけの方がはるかに簡単です。

これは単一の形式の入力は、カードのない内容を印刷するように「カード」を使用しようとします。

のようなものを試してみてください。

print('Two pair, %ss and %ss' % cards)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top