Как добавить пространство между двумя переменными после печати в 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
вы должны использовать 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'