Индекс присвоения списка вне допустимой ошибки в коде массива - PullRequest
0 голосов
/ 31 октября 2019
k = int(input("Enter the number of elements in the list: "))
n = []
for i in range(k):
    n[i] = int(input(str(i+1) + " = "))
    print(n[i])

Это код для выбора нужного количества элементов с требуемой длиной списка (массива). Печать (n [i]) была вставлена, чтобы просто проверить, достигнут ли этот шаг. Но перед этим возникает ошибка, в которой говорится, что индекс назначения списка, который, как я полагаю, равен «i», находится за пределами допустимого диапазона. Почему?

Ответы [ 2 ]

0 голосов
/ 31 октября 2019

Здесь, если вы пытаетесь добавить (добавить) в свой список, который в вашем случае равен n, вы должны использовать добавление вместо n[i]. Когда вы используете n[i], вы фактически присваиваете значение, а не добавляете новое значение.

В приведенном ниже фрагменте используется метод добавления.

k = int(input("Enter the number of elements in the list: "))
n = []
for i in range(k):
    n.append(int(input(str(i+1) + " = ")))
    print(n[i])

Если вы все еще хотите решить, используя присвоение значениям списка, вы также можете сделать это.

k = int(input("Enter the number of elements in the list: "))
n = [None] * k
for i in range(k):
    n[i] = int(input(str(i+1) + " = "))
    print(n[i])
0 голосов
/ 31 октября 2019

Это потому, что n инициализируется с размером 0. Когда вы присваиваете n[1] некоторому значению, это дает вам индекс вне диапазона ошибок. Попробуйте использовать append вместо.

k = int(input("Enter the number of elements in the list: "))
n = []
for i in range(k):
    n.append(int(input(str(i+1) + " = ")))
    print(n[i])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...