我想编写代码,使数字从1到2到3,依此类推。
我正在Python 3上运行它。我已经尝试过:
import time
from sys import stdout
for i in range(1,20):
stdout.write("\r%d" % i)
stdout.flush()
time.sleep(1)
stdout.write("\n") # move the cursor to the next line
但是使用该代码,我得到12345678910111213141541516171819。 有人可以帮忙吗? 编辑:我从Python,而不是从IDLE运行此代码,并且它可以工作。谁能解释?
答案 0 :(得分:1)
对于我的设置,它可以工作(Arch Linux,Python3)。您是从IDE开始吗?还是从控制台?
也许另一种适合您的方法:
import time
from sys import stdout
for i in range(1,20):
print(i)
time.sleep(0.1)
stdout.write("\033[F") #back to previous line
stdout.write("\033[K") #clear line
stdout.write("\n") # move the cursor to the next line
想法找到here。此示例在我的控制台中有效,但当我直接从PyCharm启动时无效。