Как уже ответили, чтобы напечатать вывод без перевода строки в Python 2, поставить запятую в конце вашего заявления печати:
print "%.4f" % voltsdiff,
Однако это не сбросит выход, а стандартный вывод строки буферном по умолчанию (он будет промывать только тогда, когда на выход добавляется новая строка). Есть несколько способов исправить это.
Во-первых, вы могли бы, в какой-то момент, добавить новую строку только с основной print
заявление, например:
for i, voltsdiffs in enumerate(many_voltages):
print "%.4f" % voltsdiffs,
if i % 10 == 9:
print # puts a newline after every 10 values
Далее, вы можете явно смывать стандартный вывод, используя sys.stdout.flush()
:
print "%.4f" % voltsdiffs,
sys.stdout.flush()
Наконец, вы можете использовать функцию print
функции Python 3, которая имеет параметр flush
(что делает промывку для вас, если это True
):
Я бы рекомендовал последнюю версию, поскольку это то, что вам нужно будет использовать в будущем, если вы портируете свой код на Python 3. Он также довольно явный, с каждой специальной характеристикой печати (нет newline в конце, автоматически промывка), вызванный отдельным аргументом ключевого слова.
Добавить конец (',') в конце инструкции 'print':' print '% .4f "% (voltsdiff),' – falsetru