【问题标题】:Replace print statement output in Python 3.7 [duplicate]替换 Python 3.7 中的打印语句输出 [重复]
【发布时间】:2020-02-03 23:27:41
【问题描述】:

我需要做一个计时器来代替输出。例如:

5

然后在一秒钟后替换为4,依此类推。

这不再有效:

我已经按如下方式制作了一个计时器,但它并没有达到我的预期:

from time import sleep
for i in range(4, -1, -1):
    print(i, end=" ")
    sleep(1)

实际结果是:

4 3 2 1 0

我正在使用 maCOS。

【问题讨论】:

  • @Lamanus 不起作用,我也在使用 macOS 而不是 Windows
  • 使用print("\033c", end="")清除终端,然后执行你的定时器功能。
  • windows、mac、linux共有27个答案。
  • 在IDE中无法清除终端,需要在终端中运行才能看到效果*
  • 试试end='\r'(回车)。它应该在没有换行的情况下返回到行首,但这取决于终端。

标签: python-3.x output


【解决方案1】:

使用DEL ASCII 字符怎么样?

import time


for i in range(4, -1,-1):
    s = str(i)
    print(i, end='', flush=True)
    time.sleep(1)
    print('\u0008' * len(s), end='', flush=True)
print()

【讨论】:

    【解决方案2】:

    对于 Mac 或 Linux,您可以使用 print('\033c', end='') 清除终端。 所以你的代码应该是这样的:

    from time import sleep:
    
    for i in range(4, -1,-1):
        print(i)
        print('\033c', end='')
        sleep(1)         
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-03
      • 2017-11-26
      • 2017-04-05
      • 1970-01-01
      • 2017-03-08
      • 2011-04-23
      相关资源
      最近更新 更多