Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 2, 2020 02:21:39

Fake322
Зарегистрирован: 2020-12-02
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с двумерными массивами

Здравствуйте, я новичёк ещё, строго не судите. Перейду к сути проблемы.

 counts = list(open('second.txt'))
allArray = []
arr = []
x = 0
j = 0
i = 0
for i in range(len(counts)):
    for j in range(len(counts)):
        allArray[i][j] = counts[x] #ошибка в этом месте:  allArray[i][j] = counts[x] IndexError: list index out of range
        if counts[x+1] == counts[-1]:
            if counts[-2] > counts[-1] or counts[-2] > counts[-1]:
                allArray[i][j] = counts[-2]
                i += 1
                allArray[i][j] = counts[-1]
Никак не могу понять в чём дело, если что, то задание я оставлю ниже. Не прошу помощи с самим заданием, но нуждаюсь в помощи с разбором ошибки
_____________________________________________________________________________________
Задание: Входные данные для этой задачи должны читаться из текстового файла, а
выходные – записываться в текстовый файл.
Функции, реализующие логику задачи и чтение / запись данных из файлов / в
файлы, должны быть оформлены в виде отдельного модуля (в отдельном файле).
В данных задачах, если явно не оговорено иное, предполагается, что все строки
двумерного массива имеют одинаковую длину, т.е. массив является прямоугольным. В
реализации разрешено также использовать вместо прямоугольных массивов
ступенчатые массивы (т.е. массивы массивов или списки списков). В этом случае
необходимо дополнительно реализовать функцию проверки «прямоугольности»
ступенчатого массива, которую применять для проверки корректности данных перед
обработкой.
1. Строки, элементы которых не убывают (т.е. образуют неубывающую
последовательность чисел) переместить в начало (вверх), сохранив при этом взаимное
расположением перемещаемых строк.

Отредактировано Fake322 (Дек. 2, 2020 02:30:45)

Офлайн

#2 Дек. 2, 2020 03:33:34

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Проблема с двумерными массивами

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



Отредактировано py.user.next (Дек. 2, 2020 03:35:00)

Офлайн

#3 Дек. 2, 2020 15:47:24

Fake322
Зарегистрирован: 2020-12-02
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с двумерными массивами

py.user.next
Спасибо огромное

Офлайн

#4 Дек. 2, 2020 16:20:21

Fake322
Зарегистрирован: 2020-12-02
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с двумерными массивами

py.user.next
А как это возможно, если когда я ввожу print(counts) - у меня выводится весь список?

Офлайн

#5 Дек. 3, 2020 04:21:56

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Проблема с двумерными массивами

Fake322
А как это возможно, если когда я ввожу print(counts) - у меня выводится весь список?
Ошибка относится к allArray, который пуст.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version