Python-索引错误:字符串索引超出范围

Python-索引错误:字符串索引超出范围,python,Python,我试图复制将经典小说简化为标点符号的方法,并将其呈现在海报中 使用,我能够进入标点阶段,但是,当我试图在海报中转换它时,我在“symb=txt[jj+ii*symbolsPerLine]”行中得到了“indexer-ror:string-index-out-range”错误消息 代码有什么问题吗?可能是这个问题 symb = punct[jj + ii*symbolsPerLine] for ii in range(len(linesOfText)): for jj in range(

我试图复制将经典小说简化为标点符号的方法,并将其呈现在海报中

使用,我能够进入标点阶段,但是,当我试图在海报中转换它时,我在“symb=txt[jj+ii*symbolsPerLine]”行中得到了“indexer-ror:string-index-out-range”错误消息

代码有什么问题吗?

可能是这个问题

symb = punct[jj + ii*symbolsPerLine]
for ii in range(len(linesOfText)):
    for jj in range(len(symbolsPerLine)):
假设txt的长度为2,但如果ii+jj*symbolsPerLine的长度为3,则返回的索引将超出范围

symb = txt[jj + ii * symbolsPerLine]

如果不知道例如,
symbolperline
linesOfText
的值,很难说,因为这是一个范围问题。我不熟悉您引用的github源代码中嵌入的代码。然而,这个问题听起来很有趣,请详细说明!如果不知道什么是
txt
,我们就无法回答。这是一个行列表吗?为什么要乘以符号perline?
txt[ii][jj]
会更有意义吗?我已经编辑了原始代码,直接使用小说的标点符号版本。下面是
txt
的意思:
file=open(“grandeC_pont.txt”,“r”)txt=file.read()file.close()
整个代码都在。我试着在没有修改的情况下运行它,但出现了同样的问题。在这个例子中,我编辑了代码,直接阅读一本只使用标点符号的小说。但是当我尝试运行原始代码时(使用
punct
而不是
txt
),同样的问题也出现了。然后,您需要看看您是如何更改
getpercentration
函数的,并且您需要确保您的输入文件每行有70个字符和70行(假设您使用的是这些默认值)我能修好。在编辑代码时,我无意中删除了负责此计数的函数。现在它起作用了。谢谢
symb = txt[jj + ii * symbolsPerLine]