2012-10-03 6 views
12

私はPythonを初めて使いました。余分なスペースを入れずに複数の値を印刷する方法が分かりました。私は二度printを呼び出すことなく、出力abではなくa bをしたい:またpythonにスペースを入れないで印刷3

print("a", end="") 
print("b") 

、私は次のコードを持っている:

a = 42 
b = 84 

をし、私があればa = 42, b = 84としてその値を印刷したい、まだI

print("a = ", a, ", ", b = ", b) 

余分なスペースが追加されます

012(それは a = 42 , b = 84を出力します) Javaのスタイルのに対し

print("a = " + a + ", b = " + b) 

TypeErrorを発生させます。

答えて

18

あなたは、スペースを取り除くためにsepパラメータを使用することができます。

>>> print("a","b","c") 
a b c 
>>> print("a","b","c",sep="") 
abc 

私はあなたが「Javaのスタイル」によって何を意味するのか分かりません。 Pythonでは文字列を追加することはできません。つまり、abが文字列であれば動作します。でも

>>> print("a = ", a, ", b = ", b, sep="") 
a = 2, b = 3 
>>> print("a = " + str(a) + ", b = " + str(b)) 
a = 2, b = 3 
>>> print("a = {}, b = {}".format(a,b)) 
a = 2, b = 3 

と(私は一般的にこれをお勧めしませんが、それは時々便利になるし、そうでないふりをしない点はありません):あなたはもちろん、他のいくつかのオプションがあり

>>> print("a = {a}, b = {b}".format(**locals())) 
a = 2, b = 3 
>>> print("b = {b}, a = {a}".format(**locals())) 
b = 3, a = 2 
0

オンthis page答えは通常のテキストを印刷し、最後に sep=""を使用することです。

ので

print("Hole", hole, "Par", par, sep="") 

コマンドはそのhole==1par==4を想定し

"Hole1Par4" 

を与えるだろう。

0

また、印刷やBフォーマットされた文字列の形でスペースで区切っていないために

print("%d%d" %(a,b)) 

使用することができます。これはcのものに似ています。