Você está aqui: Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear

Como somar os elementos da diagonal principal de uma matriz em Python

Quantidade de visualizações: 3569 vezes
A Matriz quadrada é um tipo especial de matriz que possui o mesmo número de linhas e o mesmo número de colunas, ou seja, dada uma matriz Anxm, ela será uma matriz quadrada se, e somente se, n = m, onde n é o número de linhas e m é o número de colunas.

Em geral as matrizes quadradas são chamadas de Matrizes de Ordem n, onde n é o número de linhas e colunas. Dessa forma, uma matriz de ordem 4 é uma matriz que possui 4 linhas e quatro colunas.

Toda matriz quadrada possui duas diagonais, e elas são muito exploradas tanto na matemática quanto na construção de algorítmos. Essas duas diagonais são chamadas de Diagonal Principal e Diagonal Secundária.

A diagonal principal de uma matriz quadrada une o seu canto superior esquerdo ao canto inferior direito. Veja:



Nesta dica veremos como calcular a soma dos valores dos elementos da diagonal principal de uma matriz usando Python. Para isso, só precisamos manter em mente que a diagonal principal de uma matriz A é a coleção das entradas Aij em que i é igual a j. Assim, tudo que temos a fazer é converter essa regra para código Python.

Veja um trecho de código Python completo no qual pedimos para o usuário informar os elementos da matriz e em seguida mostramos a soma dos elementos da diagonal superior:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

def main():
  # vamos declarar e construir uma matriz de três linhas
  # e três colunas
  linhas, colunas = (3, 3)
  matriz = [[0 for x in range(linhas)] for y in range(colunas)]
  soma_diagonal = 0 # guarda a soma dos elementos na diagonal
  # principal

  # vamos ler os elementos da matriz
  for i in range(len(matriz)):
    for j in range(len(matriz[i])):
      matriz[i][j] = int(input("Informe o valor para a linha " + str(i) 
        + " e coluna " + str(j) + ": "))

  print()
  for i in range(len(matriz)):
    for j in range(len(matriz[i])):
      print(matriz[i][j], end='  ')
    print()

  # vamos calcular a soma dos elementos da diagonal   
  # principal
  for i in range(len(matriz)):
    for j in range(len(matriz[i])):
      if i == j:
        soma_diagonal = soma_diagonal + matriz[i][j]

  # finalmente mostramos a soma da diagonal principal
  print("\nA soma dos elementos da diagonal principal é: %d" %
    soma_diagonal)  

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

Informe o valor para a linha 0 e coluna 0: 3
Informe o valor para a linha 0 e coluna 1: 7
Informe o valor para a linha 0 e coluna 2: 9
Informe o valor para a linha 1 e coluna 0: 2
Informe o valor para a linha 1 e coluna 1: 4
Informe o valor para a linha 1 e coluna 2: 1
Informe o valor para a linha 2 e coluna 0: 5
Informe o valor para a linha 2 e coluna 1: 6
Informe o valor para a linha 2 e coluna 2: 8

3  7  9  
2  4  1  
5  6  8  

A soma dos elementos da diagonal principal é: 15


Link para compartilhar na Internet ou com seus amigos:

Python ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de Python - Como retornar o maior elemento em cada uma das colunas de uma matriz usando Python

Quantidade de visualizações: 1077 vezes
Pergunta/Tarefa:

Dada a seguinte matriz:

6   10   4
2    9   7
20   3   1
Escreva um programa Python que exibe o maior elemento em cada uma das colunas dessa matriz.

Sua saída deverá ser parecida com:

Maior elemento na coluna 0 é 20
Maior elemento na coluna 1 é 10
Maior elemento na coluna 2 é 7
Resposta/Solução:

Veja a resolução comentada deste exercício usando Python:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# método principal
def main():
  # vamos declarar e constuir uma matriz de 3 linhas e três colunas
  matriz = [[6, 10, 4], [2, 9, 7], [20, 3, 1]];
    
  # vamos percorrer a matriz e exibir o maior elemento de cada coluna
  # começamos com cada coluna
  for i in range(len(matriz[0])):
    # assumimos que o maior valor é o primeiro dessa coluna
    maior = matriz[0][i]
    # percorremos todos os elementos desta linha
    for j in range(len(matriz)):
      # o elemento atual é maior que o maior?
      if matriz[j][i] > maior:
        # maior assume o valor atual
        maior = matriz[j][i]
      
    # exibimos o maior elemento desta coluna
    print("Maior elemento na coluna {0} é {1}".format(i, maior))

if __name__== "__main__":
  main()



Python ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos

Exercício Resolvido de Python - Uma classe para representar uma pessoa, com os atributos privados de nome, data de nascimento e altura

Quantidade de visualizações: 9352 vezes
Pergunta/Tarefa:

Crie uma classe para representar uma pessoa, com os atributos privados de nome, data de nascimento e altura. Crie os métodos públicos necessários para sets e gets e também um método para imprimir todos dados de uma pessoa. Crie um método para calcular a idade da pessoa.

A data de nascimento pode ser informada como uma String (no formato 05/10/1982, por exemplo) e, no cálculo da idade, considere apenas o ano da data de nascimento informada.

Sua saída deverá ser parecida com:



Resposta/Solução:

Veja a resolução comentada deste exercício usando Python console:

Código para a classe Pessoa (pessoa.py):

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

from datetime import datetime

class Pessoa:
  # construtor da classe Pessoa
  def __init__(self, nome, data_nascimento, altura):
    self._nome = nome
    self._data_nascimento = data_nascimento
    self._altura = altura

  # método que imprime todos os dados da pessoa
  def imprimir_dados(self):
    print("Nome:", self._nome, "\nData de Nascimento:" ,
      self._data_nascimento, "\nAltura:", self._altura)

  # método que calcula a idade da pessoa
  def calcular_idade(self):
    # vamos obter o ano da data de hoje
    ano_data_atual = datetime.today().year
    
    # agora vamos obter o ano de nascimento da pessoa
    partes_data_nascimento = self._data_nascimento.split("/")
    ano_nascimento = partes_data_nascimento[2]
    
    # agora mostramos a idade da pessoa
    anos = ano_data_atual - int(ano_nascimento)
    print("A pessoa tem", anos, "anos.")

  # método que define o nome da pessoa
  def set_nome(self, nome):
    self._nome = nome

  # método que obtém o nome da pessoa
  def get_nome(self):
    return self._nome

  # método que define a data de nascimento da pessoa
  def set_data_nascimento(self, data_nascimento):
    self._data_nascimento = data_nascimento

  # método que obtém a data de nascimento da pessoa
  def get_data_nascimento(self):
    return self._data_nascimento

  # método que define a altura da pessoa
  def set_altura(self, altura):
    self._data_altura = altura

  # método que obtém a altura da pessoa
  def get_altura(self):
    return self._altura      

Código para o arquivo principal.py:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# importa a classe Pessoa
from pessoa import Pessoa

def main():
  # cria um novo objeto da classe Pessoa
  pessoa = Pessoa("Amanda Rodrigues", "12/03/1972", 1.65)

  # exibe os dados da pessoa
  pessoa.imprimir_dados()

  # mostra a idade da pessoa
  pessoa.calcular_idade()
  
if __name__== "__main__":
  main()



Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear

Python para Engenharia - Como multiplicar um vetor por um escalar usando Python e NumPy

Quantidade de visualizações: 3346 vezes
Esta dica de Python e NumPy é direcionada, principalmente, aos estudantes de Engenharia, que se deparam, logo no início do curso, com o estudo da Geometria Analítica e gostariam de entender melhor a multiplicação de vetores por um escalar. Lembre-se de que um escalar é um valor único, enquanto vetores e matrizes são estruturas que guardam vários valores ao mesmo tempo.

Nosso primeiro exemplo será feito em cima de um vetor no R3, ou seja, no espaço, com os seguintes valores: [3, -5, 4]. O escalar usado será o valor 2, ou seja, temos que multiplicar cada valor no vetor pelo valor 2 e, dessa forma, obtermos um novo vetor, também no R3. Vetores no R3 possuem valores para x, y e z (três dimensões), enquanto vetores no R2 possuem apenas o x e y.

Veja como a linguagem Python facilita a operação da multiplicação de um vetor R3 por um escalar:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# importamos a bibliteca NumPy
import numpy as np
 
def main():
  # declara e cria o vetor
  vetor = np.array([3, -5, 4])
   
  # agora vamos multiplicar este vetor pelo escalar 2
  escalar = 2
  novoVetor = vetor * escalar
 
  # vamos exibir o resultado
  print("Vetor inicial: ", vetor)
  print("Valor do escalar: ", escalar)
  print("Novo vetor: ", novoVetor)
 
if __name__== "__main__":
  main()

Este código Python vai gerar o seguinte resultado:

Vetor inicial: [3 -5 4]
Valor do escalar: 2
Novo vetor: [6 -10 8]

Agora, saindo da Geometria Analítica e indo para a Álgebra Linear, veja como podemos efetuar a mesma operação em uma matriz de 2 linhas e 3 colunas (recorde que, em Python, uma matriz nada mais é do que um vetor de vetores, ou seja, cada elemento do vetor contém outro vetor):

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# importamos a bibliteca NumPy
import numpy as np
 
def main():
  # declara e cria a matriz
  matriz = np.array([(4, 12, 50), (5, 3, 1), (11, 9, 7)])
   
  # agora vamos multiplicar esta matriz pelo escalar 2
  escalar = 2
  novaMatriz = matriz * escalar
 
  # vamos exibir o resultado
  print("Matriz inicial: ", matriz)
  print("Valor do escalar: ", escalar)
  print("Nova matriz: ", novaMatriz)
 
if __name__== "__main__":
  main()

Ao executarmos este código Python nós teremos o seguinte resultado:

Matriz inicial: [[4 12 50]
[5 3 1]
[11 9 7]]
Valor do escalar: 2
Nova matriz: [[8 24 100]
[10 6 2]
[22 18 14]]


Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 73 usuários muito felizes estudando em nosso site.