Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 车厢返回未在怠速下工作?_Python_Python 3.x_Python Idle - Fatal编程技术网

Python 车厢返回未在怠速下工作?

Python 车厢返回未在怠速下工作?,python,python-3.x,python-idle,Python,Python 3.x,Python 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)

我正在尝试创建一个保持不变的倒计时计时器代码:这样每一行都会覆盖上一行。这就是我到目前为止所做的:

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...

为什么回车看起来不起作用?

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

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


\r
如果您在Unix终端或Windows控制台中启动Python REPL,则应能正常工作。

您使用的是什么操作系统?你是如何运行这个程序的?它可以通过Windows命令提示符在Windows7上运行,因此问题可能是操作系统特有的。它也可以在终端的Ubuntu上运行。问题很可能是您的终端(或显示输出的任何终端)不理解CR——您的python代码很好(为了明确起见,我会添加
flush=True
,但它应该按原样工作)。环境/结果与@Matthew对我来说是一样的。工作正常。好吧,这对我来说也不起作用。下面提出的答案也不适用。所以这与IDLE如何处理某些字符有关。我相信idle是用Tkinter构建的,Tkinter本身依赖于Tcl/Tk,所以我不确定问题发生的程度。IDLE可能不是运行此类程序的最佳位置。而是使用适当的shell运行它。@Matthew:tk文本小部件不会解释除“\n”以外的任何内容。您是对的,空闲不是用于程序的生产运行。这是一个发展和学习的环境。为此,已决定“按原样”显示输出更好。另一个问题是,解释控制字符的不同环境的行为并不完全相同。