Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Python3在循环中的同一行上打印_Python 3.x - Fatal编程技术网

Python 3.x Python3在循环中的同一行上打印

Python 3.x Python3在循环中的同一行上打印,python-3.x,Python 3.x,我试图连续打印超过1行。在2.7中,我可以使用打印'\r',,这样每次都会覆盖上一行。在3.5+中,我读过如下建议:print('\r',end='')但是当循环中的前一步更长时,这会留下“悬空”字符 例如: for foo in ['55555', '333', '1']: print('\r', foo, end=' ') 导致 1 3 5 因为每一行都比下一行长一个结束空间 建议?只需计算覆盖最长字符串所需的空格数,并将其用作打印的的结尾 values = ['55555',

我试图连续打印超过1行。在2.7中,我可以使用
打印'\r',
,这样每次都会覆盖上一行。在3.5+中,我读过如下建议:
print('\r',end='')
但是当循环中的前一步更长时,这会留下“悬空”字符

例如:

for foo in ['55555', '333', '1']:
    print('\r', foo, end=' ')
导致

1 3 5
因为每一行都比下一行长一个结束空间


建议?

只需计算覆盖最长字符串所需的空格数,并将其用作
打印的
结尾

values = ['55555', '333', '1']

end_spaces = ' '*max(len(x) for x in values)
for foo in values:
    print('\r', foo, end=end_spaces)

我在2.7和3.5中得到了相同的行为<代码>\r
只将光标移动到行首,不覆盖任何内容。