Python 动画文本功能仅适用于某些字符串
我正在尝试制作一个函数,用Python显示动画文本Python 动画文本功能仅适用于某些字符串,python,function,variables,Python,Function,Variables,我正在尝试制作一个函数,用Python显示动画文本 import sys def anitext(str): for char in str: sys.stdout.write(char) time.sleep(textspeed) print ("") 此函数适用于字符串,例如 anitext ("String") 对于单独的变量,例如 name = ("Stack") anitext (name) 但不适用于输入语句,或像
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您只需要使用参数解包。请参见官方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
类型。这会让你的代码读起来很混乱,也会导致一些微妙的错误