Подтвердить что ты не робот

Печать без пробела в python 3

Я новичок в Python, и мне интересно, как печатать несколько значений без добавления дополнительного пространства между ними. Мне нужен вывод ab, а не a b без вызова print дважды:

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

Кроме того, у меня есть следующий код:

a = 42
b = 84 

и я хочу напечатать их значения как a = 42, b = 84, но если я сделаю

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

добавляются дополнительные пробелы (выводится a = 42 , b = 84)

В то время как стиль Java,

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

вызывает a TypeError.

4b9b3361

Ответ 1

Вы можете использовать параметр sep чтобы избавиться от пробелов:

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

Я не знаю, что вы подразумеваете под "стилем Java"; в Python вы не можете добавлять строки к (скажем) целым числам таким образом, хотя, если a и b являются строками, это будет работать. Конечно, у вас есть несколько других вариантов:

>>> 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(f"a = {a}, b = {b}")
a = 2, b = 3

Последний требует Python 3.6 или более поздней версии. Для более ранних версий вы можете смоделировать тот же эффект (хотя я не рекомендую это вообще, иногда это удобно, и нет никакого смысла притворяться иначе):

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

Ответ 2

Вы также можете использовать

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

для печати a и b, не разделенных пробелами в форме форматированной строки. Это похоже на то, что указано в c.

Ответ 3

Фактический синтаксис функции print()

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

Вы можете видеть, что у него есть arg sep со значением по умолчанию ' '. Вот почему пространство вставляется между ними.

print("United","States")            #Output: United States
print("United","States",sep="")     #Output: UnitedStates

Ответ 4

На на этой странице ответ должен напечатать ваш обычный текст и в конце использовать sep="".

Итак, команда

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

даст

"Hole1Par4"

предполагая, что hole==1 и par==4.