2012-10-03 31 views
12

Tôi mới sử dụng Python, và tôi tự hỏi làm cách nào để in nhiều giá trị mà không cần thêm khoảng trắng vào giữa. Tôi muốn đầu ra ab hơn a b mà không cần phải gọi print hai lần:In không có không gian trong python 3

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

Ngoài ra, tôi có đoạn mã sau:

a = 42 
b = 84 

và tôi muốn in giá trị của họ như a = 42, b = 84, nhưng nếu tôi do

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

không gian thêm được thêm vào (kết quả đầu ra a = 42 , b = 84)

Trong khi phong cách Java,

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

đặt ra một TypeError.

Trả lời

18

Bạn có thể sử dụng tham số sep để thoát khỏi không gian:

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

Tôi không biết những gì bạn có ý nghĩa bởi "phong cách Java"; trong Python, bạn không thể thêm chuỗi vào (nói) số nguyên theo cách đó, mặc dù nếu ab là chuỗi, chuỗi đó sẽ hoạt động. Bạn có nhiều lựa chọn khác, tất nhiên:

>>> 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 

và thậm chí (mặc dù tôi không khuyên này nói chung, nó có ích đôi và không có điểm giả vờ khác):

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

On this page câu trả lời là in văn bản thông thường của bạn và cuối cùng sử dụng sep="".

Vì vậy, các lệnh

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

sẽ cho

"Hole1Par4" 

giả định rằng hole==1par==4.

0

Bạn cũng có thể sử dụng

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

in a và b không tách bằng dấu cách ở dạng của một chuỗi định dạng. Điều này là tương tự như một trong c.

Các vấn đề liên quan