2016-07-27 2 views
0

Я только что начал с Python и использую Idle.Печать без ненужных пробелов

Я положил в:

print("Professor Redwood: Right! So your name is",name,"!") 

И получил это в консоли:

Professor Redwood: Right! So your name is Chase ! 

Уведомление пространства вокруг имени "Chase". Я не могу понять, как избавиться от этих пространств. Я поднял этот вопрос и пошел к this page. Я не мог понять, что такое ответ, поэтому мне нужна помощь.

(. Пожалуйста, обратите внимание, что я уже установить переменную)

+0

Не дубликат, но см. [Этот вопрос] (http://stackoverflow.com/questions/2960772/putting-a-variable-inside-a-string-python). – TigerhawkT3

+1

И вы попытались найти [документацию для функции 'print'] (https://docs.python.org/3/library/functions.html#print)? – TigerhawkT3

ответ

4

По умолчанию функция Python print использует разделение набор для единого пространства при печати аргументов; Вы можете легко изменить это путем определения sep='' (т.е. пустое пространство):

print("Professor Redwood: Right! So your name is",name,"!", sep='') 

Что теперь print:

Professor Redwood: Right! So your name isChase! 

Для Python 2.x вы можете либо использовать from __future__ import print_function, и если это не подойдет вам по какой-то причине, используйте join, чтобы явно присоединиться к пустой строке:

print "".join(["Professor Redwood: Right! So your name is",name,"!"]) 

или используйте .format как другой ответ предполагает:

print "Professor Redwood: Right! So your name is{0}!".format(name) 
+0

Хороший ответ, отметим, что это работает только с Python ≥ 3,0 по умолчанию. – ospahiu

+0

Использование 'join' немного подробное. – intboolstring

+0

@intboolstring согласился, просто добавление альтернатив - все. –

3

Другой вариант использования конкатенации:

print("Professor Redwood: Right! So your name is"+ name + "!") 

Вы также можете выполнить следующие действия с помощью строки форматирования

print("Professor Redwood: Right! So your name is {0} !".format(name)) 
1

То, что вы пытаетесь сделать, это конкатенатные строки, которые не являются точными запятыми в print заявление делать. Вместо этого, конкатенация может быть достигнута несколькими способами, наиболее распространенным из которых является использование оператора +.

print("Professor Redwood: Right! So your name is " + name + "!") 

или вы можете объединить в переменную и распечатать это. Это особенно полезно, если вы объединяете множество разных строк или хотите повторно использовать строку несколько раз.

sentence = "Professor Redwood: Right! So your name is " + name + "!" 
print sentence 

или вы можете использовать форматирование строк. Это имеет преимущество, обычно выглядящее более чистым и позволяющее форматировать специальные переменные типы, такие как десятичные знаки или валюту.

print "Professor Redwood: Right! So your name is %s!" % name 
print "Professor %s: Right! So your name is %s!" % (prof_name, name) 
print "Professor Redwood: Right! So your name is {0}!".format(name) 

Обратите внимание, что в Python 2 утверждение печати не требует скобок вокруг строки. В Python 3 они требуются.