我们可以在循环内只打印一次文本,而不让它一次又一次打印直到循环结束吗?

问题描述 投票:0回答:1

首先,我是一个新手。我正在尝试倒计时。现在,当我使用 while 循环来实现这一点时,我还需要打印倒计时,但发生的情况是倒计时发生在单独的行中,一遍又一遍地打印文本。我希望循环只打印一次文本,但不断更改倒计时的值,直到倒计时结束。

我的代码是:

      clearing = True
      countdown = 3
      while clearing:
        while countdown > 0:
          print(f"Clearing console in {countdown} second(s)")
          time.sleep(1)
          countdown -= 1
        os.system('clear')
        clearing = False

这是我目前在控制台中实现的结果 rn:

Clearing console in 3 second(s)
Clearing console in 2 second(s)
Clearing console in 1 second(s)

看到打印一直重复,直到倒计时 == 0 我想要的是循环只打印一次文本,但不断更改文本内倒计时的值

类似这样的:

Clearing console in '3 then 2 then 1' second(s)
python windows for-loop unix while-loop
1个回答
0
投票

嗯,实际上你可以做一些事情。

print(f"Clearing console in {count}  second(s)", end='\r', flush=True)

我建议您阅读什么是回车符以及有关刷新的内容。

© www.soinside.com 2019 - 2024. All rights reserved.