Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: Python ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como criar uma matriz bidimensional ou tridimensional em Python

Quantidade de visualizações: 4073 vezes
Uma das dúvidas mais frequentes que surgem entre os visitas do site é como declarar e inicializar uma matriz de n linhas por m colunas, ou seja, uma matriz bidimensional ou tridimensional.

Como a linguagem Python é dinamicamente tipada, e adiciona elementos a um vetor ou matriz também de forma dinâmica, a tarefa de se criar matrizes NxM nem sempre é uma tarefa trivial.

Nessa dica eu mostrarei duas formas comumente empregadas para a criação de matrizes 2D e 3D. Veja a primeira forma:

----------------------------------------------------------------------
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 duas linhas
  # e três colunas
  linhas = 2
  colunas = 3
  matriz = [[0 for x in range(colunas)] for y in range(linhas)]
  
  # vamos exibir as linhas e colunas da matriz
  for i in range(len(matriz)):
    for j in range(len(matriz[i])):
      print(matriz[i][j], end='  ')
    print()
 
  # vamos atribuir uma valor à segunda linha, terceira coluna
  matriz[1][2] = 7

  # vamos exibir a matriz novamente
  print()
  for i in range(len(matriz)):
    for j in range(len(matriz[i])):
      print(matriz[i][j], end='  ')
    print()    
 
if __name__== "__main__":
  main()

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

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

0  0  0  
0  0  0  

0  0  0  
0  0  7

Veja agora a segunda abordagem, na qual usamos a função append() da classe List e dois laços for para montar listas aninhadas. Veja:

----------------------------------------------------------------------
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 duas linhas
  # e três colunas
  linhas = 2
  colunas = 3
  matriz = [] # cria uma matriz vazia
  for i in range(linhas):
    linha = [] # cria uma linha vazia
    for j in range(colunas):
      linha.append(0) # adiciona o valor 0
    matriz.append(linha) # adiciona a linha na matriz
    
  # vamos exibir as linhas e colunas da matriz
  for i in range(len(matriz)):
    for j in range(len(matriz[i])):
      print(matriz[i][j], end='  ')
    print()
 
  # vamos atribuir uma valor à segunda linha, terceira coluna
  matriz[1][2] = 7

  # vamos exibir a matriz novamente
  print()
  for i in range(len(matriz)):
    for j in range(len(matriz[i])):
      print(matriz[i][j], end='  ')
    print()    
 
if __name__== "__main__":
  main()

O resultado deste código é o mesmo do anterior. Veja agora como podemos criar uma matriz 3D, ou seja, tridimensional:

----------------------------------------------------------------------
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 duas linhas,
  # três colunas e profundidade quatro
  linhas = 2
  colunas = 3
  profundidade = 4
  matriz = [] # cria uma matriz 3D vazia

  for i in range(linhas): # criamos as linhas
    matriz.append([])
    
    for j in range(colunas): # criamos as colunas
      matriz[i].append([])
  
      for k in range(profundidade): # criamos a profundidade
        matriz[i][j].append(0)
 
  # hora de testar a matriz. Vamos atribuir um valor na segunda
  # linha, terceira coluna e profundidade quatro
  matriz[1][2][3] = 15

  # e agora vamos obter o valor de volta
  print("O valor é:", matriz[1][2][3])
  
  # vamos exibir a matriz 3D toda
  print(matriz)
    
if __name__== "__main__":
  main()

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

O valor é: 15
[[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 15]]]

Para finalizar, veja a forma compacta de se criar uma matriz 3D em Python usando "list comprehensions":

----------------------------------------------------------------------
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 duas linhas,
  # três colunas e profundidade quatro
  linhas = 2
  colunas = 3
  profundidade = 4
  
  # cria a matriz 3D e a preenche com zeros usando list comprehensions
  # se possível, coloque tudo em uma linha, pois a idéia é a usar a forma
  # compacta
  matriz = [[[0 for k in range(profundidade)] for j in range(colunas)] 
    for i in range(linhas)]
 
  # hora de testar a matriz. Vamos atribuir um valor na segunda
  # linha, terceira coluna e profundidade quatro
  matriz[1][2][3] = 15

  # e agora vamos obter o valor de volta
  print("O valor é:", matriz[1][2][3])
  
  # vamos exibir a matriz 3D toda
  print(matriz)
    
if __name__== "__main__":
  main()


Link para compartilhar na Internet ou com seus amigos:

Python ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular a apótema de um polígono regular de N lados em Python

Quantidade de visualizações: 564 vezes
Uma das formas mais comuns de se obter a área de um polígono regular é usando a seguinte fórmula:

\[\text{A} = \frac{1}{2} \cdot \text{p} \cdot \text{a} \]

Onde:

p = Perímetro, ou seja, a soma dos comprimentos de todos os lados.
a = Apótema, isto é, uma parte que une o centro do polígono ao meio de qualquer lado que esteja perpendicular.

Agora que já estamos alinhados, saiba que calcular a apótema de um polígono regular "na mão" é fácil, já que só precisamos medir a distância de dois lados opostos e dividir por dois ou traçar linhas cruzadas e medir a distância de um dos lados até a interseção dessas linhas. No entanto, em programação a coisa já é um pouco mais complicada.

Nesta dica mostrarei como podemos realizar esta tarefa em Python. Para isso usaremos alguns truques de trigonometria. Comece analisando a seguinte imagem:



Note que temos um pentágono com cada lado medindo 4 metros. Recorde que um pentágono é um polígono regular de 5 lados. Para deixar a dica mais didática eu coloquei também uma linha azul representando a apótema do polígono e as linhas cruzadas.

Veja agora o código Python que recebe a quantidade de lados do polígono, o comprimento dos lados e retorna a apótema:

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

# vamos importar o módulo Math
import math

# função que calcula e retorna a apótema de um
# polítono regular
def calcular_apotema(lados, comprimento):
  # a quantidade de lados e o comprimento deles
  # não podem ser negativos
  if lados < 0 or comprimento < 0:
    return -1
 
  # calculamos a apótema
  return (comprimento / (2 * math.tan((180 / lados)
    * math.pi / 180)))
  
# função principal do programa
def main():
  # vamos ler a quantidade de lados
  lados = int(input("Informe a quantidade de lados: "))
  
  # vamos ler o comprimento dos lados
  comprimento = int(input("Informe o comprimento dos lados: "))

  # e agora calculamos a apótema dos polígono
  apotema = calcular_apotema(lados, comprimento)

  # e mostramos o resultado
  print("A apótema do polígono é: {0}".format(apotema))

if __name__== "__main__":
  main()

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

Informe a quantidade de lados: 5
Informe o comprimento dos lados: 4
A apótema do polígono é: 2.7527638409423476


Python ::: Dicas & Truques ::: Strings e Caracteres

Como testar se o primeiro caractere de cada palavra em uma string Python é o único em letra maiúscula usando a função istitle()

Quantidade de visualizações: 8531 vezes
Nesta dica mostrarei como podemos usar a função istitle() da linguagem Python para verificar se o primeiro caractere de cada palavra em uma frase ou texto é o único caractere em letra maiúscula. Se o teste for verdadeiro o retorno é true, caso contrário o retorno é false.

Veja o exemplo completo:

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

def main():
  frase = "Gosto De Programar Em Python"

  if frase.istitle():
    print("O primeiro caractere de cada palavra é maiusculo")
  else:
    print("O teste não resultou verdadeiro")
  
if __name__== "__main__":
  main()

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

O primeiro caractere de cada palavra é maiusculo.


Python ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o comprimento da hipotenusa em Python dadas as medidas do cateto oposto e do cateto adjascente

Quantidade de visualizações: 1486 vezes
Nesta dica mostrarei como é possível usar a linguagem Python para retornar o comprimento da hipotenusa dadas as medidas do cateto oposto e do cateto adjascente. Vamos começar analisando a imagem a seguir:



Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados.

Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras):

\[c^2 = a^2 + b^2\]

Tudo que temos a fazer a converter esta fórmula para código Python. Veja:

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

# vamos importar o módulo Math
import math as math

def main():
  a = 20 # medida do cateto oposto
  b = 30 # medida do cateto adjascente
  
  # agora vamos calcular o comprimento da hipotenusa
  c = math.sqrt(math.pow(a, 2) + math.pow(b, 2))
 
  # e mostramos o resultado
  print("O comprimento da hipotenusa é: %f" % c)
  
if __name__== "__main__":
  main()

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

O comprimento da hipotenusa é: 36.055513

Como podemos ver, o resultado retornado com o código Python confere com os valores da imagem apresentada.


Vamos testar seus conhecimentos em JavaScript

Qual é a forma correta de se escrever o condicional if em JavaScript?

A) if a == 10 then

B) if (a == 10):

C) if (a == 10) {}

D) if a = 10:
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Postura ética profissional

A ética na engenharia envolve muitas questões, entre elas o estudo das decisões, das políticas e dos valores que são moralmente desejáveis na prática dessa profissão.

Sendo assim, estudar ética na engenharia tem como objetivo:

A) Capacitar os engenheiros a identificarem oportunidades para que seus projetos sejam aceitos.

B) Capacitar os engenheiros a enfrentarem a complexidade moral envolvida nas decisões e ações do exercício.

C) Priorizar a conformidade com normas técnicas em detrimento de considerações éticas mais amplas.

D) Minimizar a importância do consentimento informado em projetos que impactam comunidades locais.

E) Priorizar sempre o lucro das empresas sobre os valores éticos na execução de projetos.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Postura ética profissional

A resolução de dilemas éticos deve ser resultado de um processo de reflexão e análise, integrando valores morais e fatos para buscar uma solução moralmente correta.

Segundo Holtzapple e Reece (2006), quais os aspectos fundamentais para a resolução de dilemas éticos? Assinale a alternativa correta:

A) Ter clareza moral, ter clareza conceitual, manter-se parcial, conhecer todas as alternativas viáveis, ter razoabilidade.

B) Ter clareza moral, ter imprecisão conceitual, manter-se atualizado, conhecer todas as alternativas viáveis, ter razoabilidade.

C) Ter clareza moral, ter clareza conceitual, manter-se parcial, considerar exclusivamente as alternativas lucrativas, ter razoabilidade.

D) Ter variabilidade moral, ter clareza conceitual, manter-se alheio, conhecer todas as alternativas viáveis, ter razoabilidade.

E) Ter clareza moral, ter clareza conceitual, manter-se atualizado, conhecer todas as alternativas viáveis, ter razoabilidade.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Raio Hidráulico

Ano: 2019 Banca: Instituto Consulplan Órgão: Prefeitura de Pitangueiras - SP Prova: Instituto Consulplan - 2019 - Prefeitura de Pitangueiras - SP - Engenheiro Civil

O Raio Hidráulico é a relação entre a área molhada e o perímetro molhado, sendo parâmetro importante no dimensionamento de canais, tubos, dutos e outros componentes das obras hidráulicas. Sua unidade no SI é o metro (m2/m = m). Na figura é ilustrado um canal trapezoidal aberto (figura A), e à sua direita (figura B) as dimensões de sua seção transversal em um determinado trecho do seu percurso.



Para a seção transversal do canal, assinale, a seguir, o valor do raio hidráulico.

A) 0,26 m.

B) 0,47 m.

C) 1,26 m.

D) 2,12 m.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Peso específico relativo

O peso específico relativo para líquidos é relacionado com o peso específico da água em condições padrão de temperatura e pressão. Sabendo que o peso específico relativo de uma substância é de 0,8, determine o seu peso específico.

A) 0,8N/m3.

B) 8N/m3.

C) 8000N/m3.

D) 0,8kg/m3.

E) 0,8m3/kg.
Verificar Resposta Estudar Cards Todas as Questões

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: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



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