проблема с массивами и результатом операции, присваиваемым значениям

Для лучшей практики и избегайте этих проблем, поместите текстовый файл (words.txt) в папку WEB_INF (это безопасная папка для ресурсов). Затем:

ServletContext context = getContext();
InputStream resourceContent = context.getResourceAsStream("/WEB-INF/words.txt");

Ссылка: https://stackoverflow.com/a/4342095/3728901

1
задан decod decod 4 March 2019 в 04:28
поделиться

1 ответ

Проблема вашего кода - ваша логика в цикле for.

Вы видите: -

a = 6
b = 2
    for i in range(0, 10):
        a = x[a - b]
        b = x[a] - x[b]

Да было 6 & amp; b равнялось 2, но когда вы впервые вводите цикл for, значение a равно

x [a-b], что равно x [6-2]

, т.е. x [4], что дает вам 11

, так что значение a равно 11, аналогично для b,

b = x[a] - x[b] # which translates to x[11] - x[2]

, который становится b = 32 & amp; цикл продолжает прыгать / изменять значения & amp; б, что приводит вас к IndexError: list index out of range, что ожидается.

Попробуйте выполнить вашу программу в pycharm & amp; отладьте его, вы поймете это лучше, или, может быть, просто поместите несколько операторов печати. ​​

Я не мог набрать столько комментариев, поэтому опубликовал их как ответ.

0
ответ дан penta 4 March 2019 в 04:28
поделиться
Другие вопросы по тегам:

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