@aleshaykovlev
html, css, js, node, webpack, sass, react

Почему возникает ошибка при обращении к элементу массива?

Я новичок в python, захотел написать простой шифр и получил ошибку:

IndexError: list index out of range

Код:

def cipher(text):
    alphabet = list('abcdefghijklmnopqrstuvwxyz')
    list_text = list(text)
    result_text = ''

    for el in list_text:
      change_index = alphabet.index(el) + 3

      if change_index <= len(alphabet):
        result_text += alphabet[change_index]
      else:
        change_index = (alphabet.index(el) + 3) - len(alphabet)
        result_text += alphabet[change_index]

      return result_text

print(cipher('xyz'))

Я понимаю, что он не может найти этот элемент в массиве, но я прописал условие по которому обхожу это, но оно почему-то не сработало, что не так?
  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ответы на вопрос 1
0xD34F
@0xD34F
Я новичок в python

Это не оправдание. Судя по предыдущим вопросам, у вас минимум полтора года опыта использования js. Могли бы и научиться хоть чему-нибудь, за такой-то срок.

if change_index <= len(alphabet):
  result_text += alphabet[change_index]

С какого числа начинаются индексы у массивов? И, соответственно, каким числом (относительно длины) заканчиваются?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы