Python список предложений - PullRequest
0 голосов
/ 28 января 2020

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


n=int(input("Entrer la dimension de la matrice : "))


for i in range(n):
        a=[0]*n
        a[i]=1

        print(a)

Ответы [ 3 ]

1 голос
/ 28 января 2020

Если я понимаю вашу цель (иметь матрицу, в которой все элементы являются нулями, за исключением того, что индексы строк и столбцов одинаковы, то они должны быть).

n = int(input("Dimension : "))

matrix = [[0 if row != column else 1 for column in range(n)] for row in range(n)]


print(matrix)

Вывод:

 [[1, 0, 0], [0, 1, 0], [0, 0, 1]]
0 голосов
/ 28 января 2020

Не ясно, что именно вы хотите, но я полагаю, вы ищете что-то вроде этого

n = int(input("Entrer la dimension de la matrice : "))
# getting list of lists (empty rows)
M = [[] for _ in range(n)]
# fill each row with another list (columns)
for i in range(n):
    M[i] = [1] * n
# now you can get access to each cell like
print(M[0][2])

Кроме того, это python, вы не можете делать случайные отступы. Используйте 4 пробела для каждого уровня отступа или табуляции.

0 голосов
/ 28 января 2020

Я не совсем понимаю, какова цель вашей программы, если вы хотите инициализировать матрицу через n из вашего ввода, вы можете работать с модулем numpy. См. Документацию здесь

Вы можете сделать что-то вроде этого:

import numpy as np

n = int(input("Dimension: "))

array = np.ndarray(shape=(n,n), dtype=int)
array.fill(1)

print(array)

Вывод:

Dimension: 2                                                                            
[[1 1]                                                                                  
 [1 1]] 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...