Leia também:
Lista dentro de Lista
Porém, é possível colocar também uma lista, dentro de uma lista.
A lista:
- notas = [10, 9, 8]
Possui apenas três elementos, três inteiros. Uma linha e 3 colunas, ok ?
Agora vamos supor que temos três alunos, onde cada aluno possui 3 notas.
Podemos inicializar uma lista com as notas desses três alunos da seguinte maneira:
notas= [ [10, 9, 8],
[9, 8, 7],
[8, 10, 5] ]
Ou seja, temos 3 listas dentro de uma lista.
Temos 3 linhas e 3 colunas (tente ver como uma matriz de elementos, uma tabela).
Como acessar elementos de uma Matriz
As notas do primeiro aluno estão na lista notas[0]As notas do segundo aluno estão na lista notas[1]
As notas do terceiro aluno estão na lista notas[2]
Para acessar a primeira nota do primeiro aluno: notas[0][0]
Para acessar a segunda nota do primeiro aluno: notas[0][1]
Para acessar a terceira nota do primeiro aluno : notas[0][2]
Para acessar a primeira nota do segundo aluno: notas[1][0]
Para acessar a segunda nota do segundo aluno: notas[1][1]
Para acessar a terceira nota do segundo aluno : notas[1][0]
Para acessar a primeira nota do terceiro aluno : notas[2][0]
Para acessar a segunda nota do terceiro aluno : notas[2][1]
Para acessar a terceira nota do terceiro aluno : notas[2][2]
Para calcular a média das notas do primeiro aluno
(notas[0][0] + notas[0][1] +notas[0][2]) / 3
Para calcular a média das notas do segundo aluno
(notas[1][0] + notas[1][1] +notas[1][2]) / 3
Para calcular a média das notas do terceiro aluno
(notas[2][0] + notas[2][1] +notas[2][2]) / 3
Exercício de Matriz em Python
Crie uma matriz 4 x 4 (ou seja, 4 linhas e 4 colunas, ou seja, 4 listas dentro de uma lista maior).
Popule essa lista com números de 0, 1, 2, 3 etc
Como inicializar uma matriz
Usamos um laço for para inicializar uma matriz.
Por exemplo, para inicializar uma lista de 4 elementos, todos 0, fazemos:
[0 for i in range(4)]
Para inicializar uma matriz 4x4 então, basta repetirmos o código anterior dentro de outro for:
matriz = [ [0 for i in range(4)] for j in range(4)]
Inicializamos uma variável com valor 4.
Para percorrermos uma matriz, temos que usar laços aninhados, ou seja, for dentro de for.
O primeiro for percorre as linhas, o de dentro percorre as colunas.
Para mudarmos cada valor da matriz, a partir de 0, fazemos:
Como exibir uma matriz
Você pode imprimir uma matriz de nome matrix simplesmente fazendo: print(matrix)
Porém, o Python vai imprimir tudo numa mesma linha, muito feio.
Para exibirmos linha por linha, vamos novamente usar o laço for aninhado de outro for.
O primeiro for, de cima, vai primeiro começar na primeira linha.
O laço for aninhado, vai imprimir cada coluna, ou seja, cada elemento da linha.
Após terminar de imprimir a linha, ou seja, quando o laço for de dentro termina, damos um print() para dar uma quebra de linha quando terminamos de imprimir a linha.
Nosso código, então, fica:
matriz = [ [0 for i in range(4)] for j in range(4)] count=0 for linha in range(4): for coluna in range(4): matriz[linha][coluna] = count count += 1 for linha in range(4): for coluna in range(4): print("%4d" % matriz[linha][coluna], end='') print()
Jogo em Python
Crie um jogo da velha em Python, usando uma matriz 3x3.
Você, usuário, que vai jogar, com os dois jogadores.
Grande mestre, só não entendi o motivo daquele "0" no inicio do "for i in range(4)" quando você está definindo a matriz e não identifiquei em que parte do texto explicar a utilidade dele já que quando aprendemos o "for" não vemos nenhum parâmetro indo antes dele. Poderia explicar por gentileza?
ResponderExcluirno caso ele quis gerar uma matriz genérica preenchida apenas de 0. fora isso, não vejo outras funcionalidades
Excluir