如何打印下一个数字取代上一个数字的多个数字



例如:

x=0
while x!=10000:
  print(x)
  x += 1

该输出:

0
1
2
3....

但我不希望它产生新的线条。我希望它能替换以前的数字,这样只有数字会改变,而不会创建新行,如果这有意义的话。

您可以在print(..., end='r')中使用r而不是n将光标移动到行首,然后您可以在同一位置进行书写。

最小工作代码

import time
for x in range(100):
    print(x, end='r')
    time.sleep(0.1)

我添加了time.sleep来减慢速度。

如果你必须用较短的文本代替较长的文本,那么你可能需要在文本末尾添加空格。

我不确定是否所有终端/控制台都尊重r

一些终端可能会使用其他代码来移动光标、清除等。这些代码被curses、npyscreen、urwid、ascimatics等模块用于在文本模式下创建小部件。


BTW:如果您希望它绘制进度条,请参阅模块tqdm

最新更新