Вы ошибаетесь в индексировании списка, функция len
и функция range
.
Индексирование списка начинается с 0 и увеличивается для каждого элемента. 13-й элемент в списке имеет индекс 12 и будет доступен с помощью text[12]
.
Функция len
, с другой стороны, возвращает фактическую длину списка. Длина 2-го элемента, конечно, равна 2, и это то, что вернуло бы len
. В вашем примере длина текста составляет 13 символов. len
возвращает 13, но последний индекс текста будет в text[12]
.
Функция range
имеет значение включительно начального значения и исключительное конечного значения. В вашем примере range(0, 3)
он проверяет элементы в точках 0, 1 и 2, , а не 0, 1, 2 и 3. Если вы хотите проверить первые четыре числа, используйте range(0, 4)
вместо этого, который проверит элементы в списках с индексами 0, 1, 2 и 3, которые также являются первым, вторым, третьим и четвертым элементами в строке.