首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python 3在循环中的同一行上打印

Python 3在循环中的同一行上打印
EN

Stack Overflow用户
提问于 2017-03-15 20:24:45
回答 1查看 1.7K关注 0票数 1

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

例如:

代码语言:javascript
运行
复制
for foo in ['55555', '333', '1']:
    print('\r', foo, end=' ')

结果:

代码语言:javascript
运行
复制
1 3 5

因为每一行都比下一行长得多。

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-15 20:33:00

只需计算覆盖最长字符串所需的空格数,并将其用作end for print

代码语言:javascript
运行
复制
values = ['55555', '333', '1']

end_spaces = ' '*max(len(x) for x in values)
for foo in values:
    print('\r', foo, end=end_spaces)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42819988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档