def textcutter(winyorwinxortextar, text, winxdefault): textsplit = text.split() winytext = 1 curtextsplit = [] if(len(textsplit) == 1): winxtext = len(text) else: for n in range(len(textsplit)): curtextsplit[winytext] = textsplit[n] if(len(currenttextsplit[winytext]) >= winxdefault): curtextsplit[winytext] = oldcurtextsplit winytext += 1 elif(n < len(textsplit)): oldcurtextsplit = curtextsplit[winytext] curtextsplit[winytext] += ' ' print(winytext) text = "Какой-то криповый сегодня вечерок, не правда ли, друзья?" textcutter(1, text, 20)
В теории, он должен разделять текст на строки, чтобы они по длине не превышали winxdefault (в крайнем случае, winxdefault будет увеличиваться (но с этим я разберусь)) и возвращать несколько значений, в зависимости от заданных параметров (с этим я разберусь)
Проблема в том, что python выдает мне ошибки по диапазону индексов (он больше возможного):
Traceback (most recent call last): File "C:\Users\danil\Desktop\Python\test.py", line 18, in <module> textcutter(1, text, 20) File "C:\Users\danil\Desktop\Python\test.py", line 9, in textcutter curtextsplit[winytext] = textsplit[n] IndexError: list assignment index out of range
Как избавиться от этой ошибки?