Python 带变量的sys.stdout.write()和.flush()

Python 带变量的sys.stdout.write()和.flush(),python,python-3.x,pycharm,python-3.6,Python,Python 3.x,Pycharm,Python 3.6,我一直在做一个RPG游戏,我喜欢sys.stdout.write和.flush给它打字的效果。但是当我把一个变量输入到我想输入的句子中时,它不会输出句子的任何部分,甚至连我在引号中的非变量部分都不会。我想知道是否有一种方法不包括我为变量和引号中的内容编写单独的代码块,或者让它键入变量 if girl1 == True: t="You and",girl1realname,"have found a sandy beach while looking for a place of s

我一直在做一个RPG游戏,我喜欢sys.stdout.write和.flush给它打字的效果。但是当我把一个变量输入到我想输入的句子中时,它不会输出句子的任何部分,甚至连我在引号中的非变量部分都不会。我想知道是否有一种方法不包括我为变量和引号中的内容编写单独的代码块,或者让它键入变量

if girl1 == True:
   t="You and",girl1realname,"have found a sandy beach while looking for a 
   place of shelter. \nWhether you look left or right, the beach ranges for 
   miles.\n"
   y=girl1realname+": 'Hey, I guess I always wanted a house on the beach...I 
   think. I can't really remember.'\n"
   for char in (t):
       time.sleep(0.05)
       sys.stdout.write(char)
       sys.stdout.flush()
   time.sleep(1)
   for char in (y):
       time.sleep(0.05)
       sys.stdout.write(char)
       sys.stdout.flush()
在您对t的定义中,逗号将使其成为元组。迭代,然后写下你和girl1realname找到的每个区块。。。每次,而不是每个块中的每个字符。将逗号替换为+

你对y的定义似乎很好

对于重用,您可以定义如下函数:

def typeout(x):
  for char in x:
    time.sleep(0.05)
    sys.stdout.write(char)
    sys.stdout.flush()
用法如下:

typeout(t)
time.sleep(1)
typeout(y)

“你见过勒尼皮了吗?@IgnacioVazquez Abrams对不起,我不知道那是什么is@IgnacioVazquez-艾布拉姆斯:这不是一个视觉游戏,纯粹是通过IDE运行的