2011-07-13 12 views
16

以下のプログラムは文字列に{0}を使用していますが、どのように動作するのかよく分かりません。オンラインチュートリアルでPythonの繰り返しについて説明しました。このPython文字列で{0}は何を意味していますか?

import random 

number = random.randint(1, 1000) 
guesses = 0 

print("I'm thinking of a number between 1 and 1000.") 

while True: 
    guess = int(input("\nWhat do you think it is? ")) 
    guesses += 1 

    if guess > number: 
     print("{0} is too high.".format(guess)) 
    elif guess < number: 
     print("{0} is too low.".format(guess)) 
    else: 
     break 

print("\nCongratulations, you got it in {0} guesses!\n".format(guesses)) 

ありがとうございます!

答えて

26

これは、formatメソッドの最初の(インデックスゼロ)パラメータに置き換えることを意味します。 (例えば"2 + 2 = {0}".format(4)

+0

ありがとうございました!それは理にかなっている。 opが見つからないと思われる説明にリンクするには、 – Elizabeth

12

http://docs.python.org/release/3.1.3/library/stdtypes.html#str.format

は、文字列の書式設定の操作を実行します。 format_string引数には、リテラルテキストまたは置換フィールドを中括弧{}で区切って含む を指定できます。 各置換フィールドには、 位置指定の数値インデックス、またはキーワード引数の名前が含まれます。 format_stringのコピー を返します。各置換フィールドは、対応する引数の文字列値の に置き換えられます。

+0

+1(3回の投票で!)が答えを指していなかったことを文書にリンクしています。 –

+0

リンクをありがとう、それは概念を非常に明確にします。 – Elizabeth

4

これは新しいPythonの書式設定スタイルです。それを読んでhere

5

結果の中でformatの最初の引数に置き換えられるプレースホルダです。 {1}が2番目の引数となります。

詳細はFormat String Syntaxを参照してください。

7

それは

print("When you multiply {0} and {1} or {0} and {2}, the result is {0}".format(0,1,2)) 

はこの素敵じゃないです同じ引数を複数回配置するための恩恵だ!!!

+1

いいえ、0を1に加えると、結果は0でなく1になります) –