【发布时间】:2019-06-03 19:14:37
【问题描述】:
我想编写代码,使数字从 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
但是使用该代码,我得到 12345678910111213141516171819。 有人可以帮忙吗? 编辑:我从控制台运行此代码,而不是从 IDLE 运行,它可以工作。谁能解释一下?
【问题讨论】:
-
适用于我的测试。我的操作系统是win10,测试过python2、python3
-
不确定为什么需要这个,如果你只想按顺序打印数字 - 1,2,1,2,1,2,1,2.... 等可能有多个一种方法可以运行循环打印这些数字并创建退出条件可能基于此序列的计数器。
-
@MarkMeyer 我认为他们的意思是“覆盖”而不是“删除”。
-
顺便说一句,您不需要
sys.stdout。print("\r%d" % i, end='', flush=True)
标签: python-3.x