逐字写文本

2 投票
1 回答
3235 浏览
提问于 2025-04-17 20:56

我刚开始学习编程和Python。其实我在写一个小功能,就是逐个字母地输出一句话。以下是我的代码:

import time

def slowWriting(txt, speed=0.01):
    for c in txt:
        print(c, end='\r')
        time.sleep(speed)
    print()

问题是,当我用cxfreeze来构建这个功能,并执行生成的.exe文件时,

<module_name>.slowWriting("abcd")

它没有显示我想要的内容:

abcd

而是控制台显示了:

d

实际上,当一个字符显示出来时,它会替换掉之前显示的字符……

我该怎么做才能让它正常工作呢?

谢谢你们的阅读和可能的回答。

1 个回答

2

\r 是“回车”的意思。它会把光标移到行的开头。这就是你看到这种情况的原因。你应该在 print 的结尾使用 ''

撰写回答