这个print(''*len(msg),end='')调用是做什么的?

2024-05-20 20:21:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用一本书学习Python。但有一段代码我不明白:

from time import sleep

for i in range(100):
    msg = '\rProgress %d%%' %(i+1)
    print(' '*len(msg), end='') #I don't understand this statement.
    print(msg, end='')
    sleep(0.1)

实际上,我把那句话注释掉了,我得到了同样的结果。 为什么我需要这份声明?你知道吗


Tags: 代码infromimportforlentimerange
1条回答
网友
1楼 · 发布于 2024-05-20 20:21:22

它用于打印一系列空格,以确保清除上一行。你知道吗

在这种特殊情况下,这种情况永远不会发生,因为打印的消息只会变长(从0%增加到99%)。此外,空格的数量基于新消息,如果前一个消息较长,则该消息将太短。你知道吗

不,这里不需要,你在书中发现了一个错误。你知道吗

相关问题 更多 >