2017-02-14 12 views
-3

Здравствуйте я работаю над чем-то, и я пытаюсь напечатать вывод, как, например, в питонаPython проблема печати с пространством

привет = 10

но мой код ниже печатает его в качестве такового

привет = 10

10 представляет собой ИНТ я попробовал эти коды, но ни одна работа

print "hello=",10 
print "hello=",str(10) 
print "hello=",str(10).strip() 

я был бы признателен за помощь спасибо

+0

Это просто визуальный аспект вашего редактора кода, это не влияет на функциональность того, что вы пытаетесь сделать. Можете ли вы предоставить контекст, почему вам это нужно? вы можете просто попробовать «print» hello = 10 »' –

+2

'' 'формирует кортеж, который отпечатывает пространство. Вместо этого используйте 'print 'hello =% s"% 10' или более современный '' hello = {0}'. Format (10) ' –

+3

Это именно то, что должно произойти. Когда вы передаете несколько элементов для печати, они вытесняют их. Если вы этого не хотите, создайте единственную строку, которую вы хотите, и передайте это вместо этого. – jonrsharpe

ответ

3

Просто конкатенации строк:

print "hello="+str(10) 
3

Использование str.format,

print("hello={}".format(10)) 

PS: Оператор print был заменен функцией print() с Python 3.0.

Old: print x,   # Trailing comma suppresses newline 
New: print(x, end=" ") # Appends a space instead of a newline 

Для получения более подробной информации обратитесь к Print Is A Function.

1

Если вы используете print с несколькими аргументами, разделенными ,, в качестве разделителя между каждой из них вставляется разделитель ' '.

При использовании Python 3's print function вы можете указать параметр sep; по умолчанию ' '.

>>> from __future__ import print_function # when in Python 2 
>>> print("hello=", 10) 
hello= 10 
>>> print("hello=", 10, sep="") 
hello=10 
>>> print("hello=", 10, sep="###") 
hello=###10 

Для Python 2-х print statement есть в меру моих знаний нет такой опции.

0

Вы можете также рассмотреть вопрос об использовании Python 3 совместимый print() функции:

Эта функция может быть использована после __future__ директивы:

from __future__ import print_function 

print("hello=", 10, sep='') 

Выход:

hello=10 

В print() функцию a sep аргумент ключевого слова, который позволяет вам заменить разделитель пробега пустой строкой.

Вот онлайн помощь:

Помощь по встроенной функции печати в модуле встроенных команд:

печать (...) печать (значение, ..., Сентябре =» ' , end = '\ n', file = sys.стандартный вывод, вровень = False)

Prints the values to a stream, or to sys.stdout by default. 
Optional keyword arguments: 
file: a file-like object (stream); defaults to the current sys.stdout. 
sep: string inserted between values, default a space. 
end: string appended after the last value, default a newline. 
flush: whether to forcibly flush the stream. 
0

Вызов "печать" поместит место для запятой.

Да, Python предоставляет множество способов, чтобы напечатать строки, как упоминалось выше, я все еще хотел бы построить выход с C или формат в стиле Java:

print "hello=%d" % 10