gpt4 book ai didi

python - 如何在打印前让单个字符串的行 sleep ?

转载 作者:行者123 更新时间:2023-11-28 21:59:42 25 4
gpt4 key购买 nike

我正在开发一个互动小说游戏,到目前为止,我是这样 sleep 的:

def pn(n): print(n); time.sleep(2)  #print narrative


n1 = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer"
n2 = "quis purus eu lorem lobortis aliquam. Nunc imperdiet orci ac"
n3 = "justo lacinia fringilla."


pn(n1); pn(n2); pn(n3)

我想制作一个像这样的字符串:

nX = """Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer
quis purus eu lorem lobortis aliquam. Nunc imperdiet orci ac
justo lacinia fringilla."""

每行休眠两秒,有没有办法做到这一点?我搜索了 Python 3.3 文档,但找不到任何有用的信息。

最佳答案

您需要将文本拆分成行才能打印。如果文本中已经有换行符,请使用 str.splitlines() 拆分:

for line in nX.splitlines():
pn(line)

.splitlines() 在行分隔符上拆分文本,这可能因平台而异。

否则,您将需要找到将文本拆分为句子的点。使用正则表达式会让您物有所值:

import re

sentence_end = re.compile(r'(?<=[.?!])\s+')

for sentence in sentence_end.split(nX):
pn(sentence)

这使用后视断言来确保文本在句末标点符号(.?!).

拆分句子否则会忽略换行符:

>>> import re
>>> sentence_end = re.compile(r'(?<=[.?!])\s+')
>>> sentence_end.split(nX)
['Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'Integer\nquis purus eu lorem lobortis aliquam.', 'Nunc imperdiet orci ac\njusto lacinia fringilla.']

关于python - 如何在打印前让单个字符串的行 sleep ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16306572/

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