所以,我一直试图制作一个小程序,询问用户各种问题,并根据输入提供分支输出,我一直试图让字符在屏幕上出现在字符上一次,每个角色之间有一个短暂的延迟,但在同一条线上。我已经看过其他各种方法,例如
print "H",
print "e",
等,但这非常耗时,要求我为每个字母输入一份打印件。我已经看到关于这个主题的其他问题,并尝试了放在其中的代码,但到目前为止似乎都没有。是否有更简单的方法来打印我想要的内容,或者将其打印成打印样式函数?
编辑:使这个功能变得非常简单,但我是Python的初学者答案 0 :(得分:3)
一个简单的for
循环将从任何字符串中获取单个字符。唯一真正的技巧是在每个字符后刷新输出以使其立即打印。
import sys, time
for c in "Hello there!":
sys.stdout.write(c)
sys.stdout.flush()
time.sleep(0.1)
print
使它成为一个功能确实很简单:
def print1by1(text, delay=0.1):
for c in text:
sys.stdout.write(c)
sys.stdout.flush()
time.sleep(delay)
print
print1by1("Hello there!")
答案 1 :(得分:2)
在python 3上,您可以在python 2上使用sep
关键字。有几个选项。
可能还有其他人我对python 2并不太熟悉。
你可以使用sys.stdout
这有点过分杀人。
sys.stdout.write('H')
sys.stdout.write('e')
再次使用sys
...您可以清除软空间
print "H",
sys.stdout.softspace=0
print "e",
或者,
print 'H', 'e'
或者,
print "H",; print "e"
更简单,请使用+
print "H" + "e"
有一个字符列表并加入它们,"".join
只是将字符连接到一个字符串,相当于print "He"
my_chars = ['H', 'e']
print "".join(my_chars)