これは私のコードの一部です。
print("Total score for %s is %s ", name, score)
しかし、私はそれをプリントアウトしてほしい:
"(名前)の合計スコアは(スコア)"
ここでname
はリスト内の変数、score
は整数です。それが全く助けになるのであれば、これはPython 3.3です。
これを行うには多くの方法があります。 %
-フォーマットを使用して現在のコードを修正するには、Tupleを渡す必要があります。
タプルとして渡します。
print("Total score for %s is %s" % (name, score))
単一の要素を持つTupleは('this',)
のように見えます。
これを行う他のいくつかの一般的な方法は次のとおりです。
辞書として渡します。
print("Total score for %(n)s is %(s)s" % {'n': name, 's': score})
また、新しいスタイルの文字列フォーマットもあります。
新しいスタイルの文字列フォーマットを使う:
print("Total score for {} is {}".format(name, score))
新しいスタイルの文字列フォーマットを数字で使う(同じものを並べ替えたり、同じものを複数回印刷するのに便利です):
print("Total score for {0} is {1}".format(name, score))
明示的な名前で新しいスタイルの文字列フォーマットを使う:
print("Total score for {n} is {s}".format(n=name, s=score))
文字列を連結する:
print("Total score for " + str(name) + " is " + str(score))
最も明確な2つ、私の意見では:
値をパラメータとして渡すだけです。
print("Total score for", name, "is", score)
上記の例でprint
によってスペースが自動的に挿入されないようにするには、sep
パラメータを変更します。
print("Total score for ", name, " is ", score, sep='')
Python 2を使用している場合、print
はPython 2の関数ではないため、最後の2つを使用することはできません。ただし、この動作は__future__
からインポートできます。
from __future__ import print_function
Python 3.6では新しいf
-文字列フォーマットを使用します。
print(f'Total score for {name} is {score}')
印刷する方法はたくさんあります。
別の例を見てみましょう。
a = 10
b = 20
c = a + b
#Normal string concatenation
print("sum of", a , "and" , b , "is" , c)
#convert variable into str
print("sum of " + str(a) + " and " + str(b) + " is " + str(c))
# if you want to print in Tuple way
print("Sum of %s and %s is %s: " %(a,b,c))
#New style string formatting
print("sum of {} and {} is {}".format(a,b,c))
#in case you want to use repr()
print("sum of " + repr(a) + " and " + repr(b) + " is " + repr(c))
EDIT :
#New f-string formatting from Python 3.6:
print(f'Sum of {a} and {b} is {c}')
使用:.format()
:
print("Total score for {0} is {1}".format(name, score))
または
// Recommended, more readable code
print("Total score for {n} is {s}".format(n=name, s=score))
または
print("Total score for" + name + " is " + score)
または
`print("Total score for %s is %d" % (name, score))`
Python 3.6では、f-string
はずっときれいになりました。
以前のバージョンでは:
print("Total score for %s is %s. " % (name, score))
Python 3.6の場合:
print(f'Total score for {name} is {score}.')
しましょう。
より効率的でエレガントです。
単純にしておくと、私は個人的には文字列の連結が好きです。
print("Total score for " + name + " is " + score)
Python 2.7と3.Xの両方で動作します。
注:scoreがintの場合は、strに変換してください。 - ):
print("Total score for " + name + " is " + str(score))
ちょうど試して:
print("Total score for", name, "is", score)
これに従ってください
idiot_type = "the biggest idiot"
year = 22
print("I have been {} for {} years ".format(idiot_type, years))
または
idiot_type = "the biggest idiot"
year = 22
print("I have been %s for %s years."% (idiot_type, year))
そして他のすべてを忘れないでください、さもなければ脳はすべてのフォーマットをマッピングすることができないでしょう。
score
が数値の場合、
print("Total score for %s is %d" % (name, score))
スコアが文字列の場合、
print("Total score for %s is %s" % (name, score))
Scoreが数値の場合は%d
、文字列の場合は%s
、scoreがfloatの場合は%f
です。
print("Total score for %s is %s " % (name, score))
%s
は%d
または%f
に置き換えることができます
これが私がすることです:
print("Total score for " + name + " is " + score)
for
の前後およびis
の前後には、必ずスペースを入れてください。
f-string
を使用してください。
print(f'Total score for {name} is {score}')
または
.format
を使用してください。
print("Total score for {} is {}".format(name, score))