繁体   English   中英

回车在空闲状态下不起作用?

[英]Carriage Return not working in IDLE?

我正在尝试为保持原位的倒数计时器创建代码:以便每一行覆盖前一行。 这是我到目前为止:

import time

def countdown(t):
    while t:
        mins, secs = divmod(t, 60)
        timeformat = "{:02d}:{:02d}".format(mins, secs)
        print(timeformat, end='\r')
        time.sleep(1)
        t -= 1
    print("That's the end! You lose...\n\n\n\n\n")
    exit()

countdown(10)

但是,输出是:

00:10
00:09
00:08
...
00:00
That's the end! You lose...

为什么回车似乎不起作用?

IDLE 不支持大多数控制字符,例如\\r\\b 2020 年依然如此(Python 3.9 不支持)

如果您在 Unix 终端或 Windows 控制台中启动 Python REPL, \\r应该可以工作。

\\r不起作用时,尝试\\x08 (退格),并添加flush=True以确保安全:

print('\x08' * 5 + timeformat, end='', flush=True)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM