Как добавить пространство между двумя переменными после печати в Python

Я довольно новичок в Python, поэтому я пробую свои силы в каком-то простом коде. Однако в одной из практик мой код должен отображать некоторые числа в дюймах слева и преобразование чисел справа;

count = 1
conv = count * 2.54
print count, conv

Я хочу, чтобы вывод был напечатан с некоторым пространством между ними;

count = 1
conv = count * 2.54
print count,     conv

Я не могу понять, как это сделать. Я искал везде, но все, что я могу найти, это люди, пытающиеся избавиться от пространства. Если бы кто-нибудь мог меня провести ... правильном направлении, я был бы благодарен.

О, и я только что понял, что Я использую Python 2.7, а не 3.x. Не уверен, что это важно.

7 ответов


простой способ был бы:

print str(count) + '  ' + str(conv)

Если вам нужно больше места, просто добавьте их в строку:

print str(count) + '    ' + str(conv)

более причудливый способ, используя новый синтаксис для форматирования строк:

print '{0}  {1}'.format(count, conv)

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

print '%d  %.2f' % (count, conv)

использовать интерполяция строк.

print '%d   %f' % (count,conv)

альтернативно вы можете использовать ljust / rjust чтобы сделать форматирование более приятным.

print "%s%s" % (str(count).rjust(10), conv)

или

print str(count).ljust(10), conv

небольшое предупреждение, это довольно многословный ответ.

print иногда сложно, у меня были некоторые проблемы с ним, когда я впервые начал. Что вы хотите, это несколько пробелов между двумя переменными после их правильной печати? Существует много способов сделать это, как показано в приведенных выше ответах.

этот код:

count = 1
conv = count * 2.54
print count, conv

это вывод таков:

1 2.54

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

print (str(count) + "           " + str(conv))
### Provides an output of:
1           2.54

для этого есть более новые, более подходящие для Python способ, то используйте знак % в сочетании с буквой для обозначения какой стоимости мы используем. Здесь я использую подчеркивания вместо пробелов, чтобы показать, сколько их. Модуль перед последними значениями просто говорит python вставить следующие значения в, в порядке мы предоставлена.

print ('%i____%s' % (count, conv))
### provides an output of:
1____2.54

я использовал %i для count, потому что это целое число, и %s для conv, потому что использование %i в этом случае предоставило бы нам "2" вместо "2.54" технически, я мог бы использовать оба %s, но все хорошо.

надеюсь, это поможет!

-Джозеф

С. П. если вы хотите усложнить форматирование, вы должны посмотреть prettyprint для больших объемов текста, таких как словари и списки кортежей (импортированные как pprint), а также как который делает автоматические вкладки, интервалы и другой классный мусор.

вот дополнительная информация о строках в документах python. http://docs.python.org/library/string.html#module-string


это глупый / хакерский способ

print count,    
print conv

print str(count) + ' ' + str(conv) - Это не работа. Однако замена + С , для меня


вы должны использовать Python явный флаг преобразования PEP-3101

'My name is {0!s:10} {1}'.format('Dunkin', 'Donuts')

'My name is Dunkin Donuts'

или

'My name is %-10s %s' % ('Dunkin', 'Donuts')

'My name is Dunkin Donuts'

https://www.python.org/dev/peps/pep-3101/