Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
162 views
in Technique[技术] by (71.8m points)

python - Carriage Return not working in IDLE?

I'm trying to create a code for a countdown timer that stays in place: so that each line overwrites the previous one. This is what I have so far:

import time

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




")
    exit()

countdown(10)

The output, however, is:

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

Why is the carriage return seemingly not working?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

IDLE doesn't support most control characters such as , . It is still true in 2020 (no support in Python 3.9)

should work if you start Python REPL in a Unix terminal or in Windows console instead.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...