На картинке, на которую вы ссылаетесь, показывающей, как вы хотите, чтобы матрица выглядела, последний столбец имеет 12 два раза. Кроме того, во втором и последнем столбце у вас есть 19. А? Кроме того, последние две строки / строки вашего входного текстового файла имеют пять чисел. Я предполагаю, что в последней строке должно быть шесть цифр.
Тот факт, что числа имеют различные цифры, затрудняет визуальную проверку того, что все правильно.
Если у вас есть текстфайл ("stuff.txt"), который выглядит следующим образом (обратите внимание, ведущие нули для заполнения):
00
01 00
02 03 00
04 05 06 00
07 08 09 10 00
11 12 13 14 00
И код:
with open("stuff.txt", "r") as file:
lines = list(map(str.split, file.read().splitlines()))
missing_values = []
for index in range(len(lines)):
missing_values.append([line[index] for line in lines[index+1:]])
matrix = [line + values for line, values in zip(lines, missing_values)]
for row in matrix:
print(row)
Вывод:
['00', '01', '02', '04', '07', '11']
['01', '00', '03', '05', '08', '12']
['02', '03', '00', '06', '09', '13']
['04', '05', '06', '00', '10', '14']
['07', '08', '09', '10', '00', '00']
['11', '12', '13', '14', '00']
Матрица не является квадратной, потому что две последние строки в вашем текстовом файле имеют пять чисел (где последняя строка должна иметь шесть).