Задать вопрос
@alexzsoda

Как исправить ошибку IndexError: list index out of range?

Я делал экономического бота но вдруг у меня вылезла ошибка:
line 215, in <module>
rints3 = spms[rint3]
IndexError: list index out of range

Я решил поискать на форумах и понял что это связано с числами в Python-е. Затем я их исправил но ошибка всё равно вылазит.
Как это исправить?
Вот отрывок кода из ошибки:
import random
from_id = 123457425
mss = dictionary[str('word')
spms = mss.split()
mint = len(spms)
rint1 = random.randint(0, mint)
rint2 = random.randint(0, mint)
rint3 = random.randint(0, mint)
rintsf = spms[rint1]
rints1 = rintsf[0].upper() + rintsf[1:]
rints2 = spms[rint2]
rints3 = spms[rint3]
coin = feed_coin[str(from_id)]
feed_coin[str(from_id)] = coin + 1
  • Вопрос задан
  • 4290 просмотров
Подписаться 1 Простой 9 комментариев
Пригласить эксперта
Ответы на вопрос 2
Timtaran
@Timtaran
Начинающий программист.
список маленький или число большое
Ответ написан
Комментировать
sotanodroid
@sotanodroid
Python/Golang developer
IndexError: list index out of range
Возникает при попытке обращения по индексу массива, которого не существует.

Например если взять массив
ms_list = [1, 2, 3]
состоящий из 3 элементов
И попытаться обратиться к элементу 5, которого не существует, то выйдет ошибка
>>> ms_list = [1, 2, 3]
>>> ms_list[5]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range
>>>


Обращаться к элементам массива по индексу можно лишь когда индекс присутствует в массиве, а так же если вы уверены, что размер массива не может меняться вариативно. Так же надо помнить, что индексы начинаются с 0. Так в массиве [1, 2, 3] чтобы обратиться к значению 1, нужно обратиться по индексу [0], и для обращения к 3 индекс будет [2].

По предоставленному коду непонятно что делает эта строчка:
mss = dictionary[str('word')
В питоне нет такого синтаксиса.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы