2016-02-04 3 views
2

У меня есть программа python, которая имеет некоторые переменные, которые меняются со временем. Я хочу напечатать их на экране без печати в новой строке. Например:update print data debug python

for i in range(1,10): 
    v1 = i 
    v2 = i+1 
    v3 = i+2 

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

variable 1 value = v1 #v1 changes over time 
variable 2 value = v2 #v2 changes over time 
variable 3 value = v3 #v3 changes over time 

путем перезаписи предыдущих напечатанных значения v1 v2 и v3

это может быть сделано ? Я знаю, что это может быть сделано с одной печатной линии с помощью '/r',, однако на этот раз я хочу, чтобы напечатать несколько строк ...

+0

Возможные дубликат [Заменить консольный вывод в питоне] (http://stackoverflow.com/questions/6169217/replace-console-output-in-python) – CoMartel

+0

Возможный дубликат [clear terminal in python] (http://stackoverflow.com/questions/2084508/clear-terminal-in-python) –

ответ

1

Вы можете сделать следующее (но это не может работать на всех дисплеях), на основе this other answer:

import os 
for i in range(1,10): 
    # First clear the screen 
    os.system('cls' if os.name == 'nt' else 'clear') 
    print('variable 1 value = %s' % i) 
    print('variable 2 value = %s' % i+1)   
    print('variable 3 value = %s' % i+2) 
+0

спасибо, что решает! – TomE8

0

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

for i in range(1, 10): 
    print 'v1 = {0}, v2 = {0}, v3 = {0}'.format(i, i + 1, i + 2) 

Этот ссылка должна что-то объяснить. Python Input Output

+0

try: print ('v1 = {0}, v2 = {1}, v3 = {2}'. format (i, i + 1, i + 2)) –