Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

criação matriz python

Tentei criar uma matriz em que pudesse varias sua dimensão de acordo a uma entrada de dados , o problema é que ela preenche os endereços das linhas ao mesmo tempo,mesmo acompanhando a chamar elemento á elemento,ela continua preenchendo-os ao mesmo tempo segue a baixo o código:

n=int(input("tamanho matriz :"))

linha=[0]*n

matriz=[linha]*n

print(matriz)

for l in range(n):

for c in range(n):

    matriz[l][c]=int(input(" digite o numero que ficara armazezanod0 {},{} :".format(l,c)))
2 respostas
solução!

Oiii Lucas, tudo bem com você?

É necessário criar uma lista vazia que irá guardar os números das linhas e a cada iteração salvar estes valores da linha na matriz. Veja:

n = int(input("tamanho matriz :"))

linha = [0] * n

matriz = [linha] * n

print(matriz)

for l in range(n):
    linha = []
    for c in range(n):
        numero = int(
            input(" digite o numero que ficara armazezanod0 {},{} :".format(l, c)))
        linha.append(numero)
    matriz[l] = linha

print(matriz)

Porém, quando o assunto é matrizes, você pode trabalhar com a biblioteca numpy ao invés de utilizar as listas puras que o python oferece. Veja como é simples:

import numpy as np 

matriz = np.array(
    [
        [1, 2, 5, 6], 
        [3, 4, 8, 9], 
        [3, 4, 8, 9], 
        [1, 2, 5, 6]
    ]
)

print(matriz)

Lembrando que é necessário instalar a biblioteca numpy. Basta abrir o terminal ou cmd e digitar:

pip install numpy

Apesar do Numpy também se basear em listas, sua sintaxe é enxuta e oferece inúmeras possibilidades simples para trabalhar com esse tipo de estrutura. Recomendo fortemente esse curso da Alura sobre Numpy.

Qualquer dúvida, é só falar. Estou a disposição. Abraços e bons estudos!

Muito obrigado pela ajuda Nádia