gpt4 book ai didi

python - 如何在 python 中水平打印 'tight' 点?

转载 作者:太空宇宙 更新时间:2023-11-03 12:45:20 25 4
gpt4 key购买 nike

我有一个程序可以将其进度打印到控制台。每 20 步,它会打印步数,例如 10 20 30 等,但在此范围内,它会打印一个点。这是使用末尾带有逗号的 print 语句打印的 (python 2.x)

        if epoch % 10 == 0:
print epoch,
else:
print ".",

不幸的是,我注意到这些点彼此分开打印,如下所示:

0 . . . . . . . . . 10 . . . . . . . . . 20 . . . . . . . . . 30

我希望这个更紧,如下所示:

0.........10.........20.........30

在visual basic语言中,如果我们在print语句的末尾添加一个分号而不是逗号,我们就可以得到这种形式。在 Python 中是否有类似的方法或演练来获得更严格的输出?

注意:

非常感谢和尊重所有回复的人,我注意到他们中的一些人认为“纪元”的变化是及时发生的。实际上,它不是,因为它发生在完成一些迭代之后,这可能需要几分之一秒到几分钟。

最佳答案

如果你想更好地控制格式,那么你需要使用:

import sys
sys.stdout.write('.')
sys.stdout.flush() # otherwise won't show until some newline printed

.. 代替 print,或使用 Python 3 打印功能。这在以后的 Python 2.x 构建中作为 future 的导入提供:

from __future__ import print_function
print('.', end='')

在 Python 3 中,您可以传递关键字参数 flush:

print('.', end='', flush=True)

与上面两行sys.stdout效果相同

关于python - 如何在 python 中水平打印 'tight' 点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39123549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com