2012-02-17 24 views
1

は、だから、私はこのように私の変数を印刷した後、いくつかのテキストを印刷したいですダメージ変数を印刷した後の "ヒットポイント"。Pythonの印刷テキスト変数を印刷した後

print('The enemey gets hit for %d hitpoints' % damage) 

%は非常に強力で、フォーマット演算子は、all the placeholder optionsを見て:

+2

'プリント( '敵は{} hitpoints'.format(損傷)のためにヒットを取得します)' ...あなたはまた、 '%のD'を使用することができますが、' STR .format'は新しいメソッドです。 – Gandaro

+1

これは混乱する質問です。 'Hitpoints 'を書式文字列自体に入れるのは難しいことを理解するのが難しいようです。フォーマット文字列について混乱したことを説明できますか? '%'文字列演算子に関するいくつかの質問はありますか? –

答えて

16

ジャストヒットポイントがあります。

print('The enemey gets hit for {} hitpoints'.format(damage)) 

また、あなたは文字列にdamageの値を変換し、+で文字列を連結することができます:それはstr.formatの賛成で段階的に廃止されることを意図し、しかし、である

print('The enemey gets hit for ' + str(damage) + ' hitpoints') 
+0

助けてくれてありがとう – user1216862

+0

printと連結するには、私は文体の選択が好きです:print( '敵は'、str(ダメージ)、 'ヒットポイント'のためにヒットします) – hexparrot

+0

@hexparrotそれは同様に動作しますが、 varargsの理解であり、 'print'が期待される出力を得るための関数である必要があるため、普遍的ではありません。また、連結は普遍的な概念であり、印刷の外部で有用である。 – phihag

1

ジャスト追加しますあなたの文字列にhitpoints

print('the enemy gets mutilated for %d hitpoints!' % damage) 
+1

'%d'はファイルオブジェクトではなく整数の書式指定子ですか? http://docs.python.org/library/stdtypes.html#string-formatting – Gandaro

+0

あなたは正しいですが、私はfp小数点(%f)を%dと混同しましたが、これは確かに意図したものではありません。 – hexparrot

+0

'%f'はfloatの書式指定子です。 :P – Gandaro