gpt4 book ai didi

python - 动画文本函数仅适用于某些字符串

转载 作者:太空宇宙 更新时间:2023-11-03 16:07:21 24 4
gpt4 key购买 nike

我正在尝试创建一个在 Python 中显示动画文本的函数

import sys
def anitext(str):
for char in str:
sys.stdout.write(char)
time.sleep(textspeed)
print ("")

此函数适用于字符串,例如

anitext ("String")

对于单一变量,例如

name = ("Stack")
anitext (name)

但不适用于输入语句或连接语句,例如

anitext (name, "This is a string")

有什么方法可以让这个“Anitext”函数处理不仅仅是纯字符串的语句吗?

- Olli E

最佳答案

您只需要使用参数解包。请参阅Arbitrary Argument Lists在官方Python教程中。

import sys
import time

textspeed = 0.2

def anitext(*args):
for s in args:
for char in s:
sys.stdout.write(char)
sys.stdout.flush()
time.sleep(textspeed)
print("")

anitext("String", "Another string", "More stuff")

我对您的脚本做了一些其他更改。 sys.stdout.flush() 调用可确保一次实际打印一个字符;大多数终端都会缓冲整行文本,因此您实际上不会看到动画发生。

此外,我使用 s 作为当前动画字符串的名称。您不应使用 str 作为变量名称,因为它会隐藏内置 str 类型。这会使您的代码难以阅读,并且还可能导致微妙的错误。

关于python - 动画文本函数仅适用于某些字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39659470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com