Используйте print item,
, чтобы оператор печати опускал новую строку.
В Python 3 это print(item, end=" ")
.
Если вы хотите, чтобы каждое число отображалось в одном месте , используйте, например, (Python 2.7):
to = 20
digits = len(str(to - 1))
delete = "\b" * (digits + 1)
for i in range(to):
print "{0}{1:{2}}".format(delete, i, digits),
В Python 3 это немного сложнее; здесь вам нужно сбросить sys.stdout
или ничего не напечатать до тех пор, пока цикл не закончится:
import sys
to = 20
digits = len(str(to - 1))
delete = "\b" * (digits)
for i in range(to):
print("{0}{1:{2}}".format(delete, i, digits), end="")
sys.stdout.flush()