我正在尝试制作一个文字游戏,它将以一个计时器开始,该计时器每 0.05 秒添加 1 个字母以形成一个字符串,因此看起来就像有人在输入一个句子。
例。 “你好,这是一个测试”将以 h 开始,然后是 e,然后是 l,然后是 l,然后是 o,在一行上打印的字母之间有一个时间段。
import time
string = "Hello, this is a test"
count=1
while count >0:
time.sleep(0.05)
print(string[:1]),
那是我试过的代码,但我迷路了,不知道如何继续。关于如何使这项工作有任何想法吗?
请您参考如下方法:
将 while 循环替换为 for 循环,遍历要打印的字符串。这将依次给你每个字母并在最后停止你的循环。我还建议将此行为放在如下函数中:
def typeText(text, delay=0.05):
for character in text:
print character,
time.sleep(delay)
typeText("Hello, this is a text")
要解决空间问题,您有 3 个选项,按副作用从大到小的顺序排列:
- 切换到 python3,它使用
print作为带有end参数的函数,您可以将其设置为空字符串; from __future__ import print_function这将为您提供相同的打印功能,而没有来自 python3 的所有其他警告;- 将
print替换为sys.stdout.write()。此功能是 print 默认环绕的内容
