Você está aqui: Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Arrays e Matrix (Vetores e Matrizes) |
Como repetir os elementos de um vetor ou matriz usando a função repeat() da NumPy do PythonQuantidade de visualizações: 846 vezes |
A função repeat() da biblioteca NumPy do Python é usada quando queremos repetir os elementos de um vetor ou matriz um determinado número de vezes. Em sua forma mais simples esta função pede um array e um número inteiro indicando a quantidade de repetições. Veja o código Python completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # vamos importar a biblioteca NumPy import numpy as np def main(): # vamos criar um vetor contendo 5 elementos vetor = np.array([5, 3, 9, 1, 4]) # agora vamos aplicar a função repeat() a este vetor novo_vetor = np.repeat(vetor, 3) # vamos mostrar o resultado print("O vetor original é: {0}".format(vetor)) print("O novo vetor é: {0}".format(novo_vetor)) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: O vetor original é: [5 3 9 1 4] O novo vetor é: [5 5 5 3 3 3 9 9 9 1 1 1 4 4 4] Veja agora o efeito desta função em uma matriz de 2 linhas por 3 colunas: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # vamos importar a biblioteca NumPy import numpy as np def main(): # vamos criar uma matriz de 2 linhas e 3 colunas matriz = np.array([(1, 2, 3), (4, 5, 6)]) # agora vamos aplicar a função repeat() a esta matriz nova_matriz = np.repeat(matriz, 3, 0) # vamos mostrar o resultado print("A matriz original é:\n\n{0}".format(matriz)) print("A nova matriz é:\n\n{0}".format(nova_matriz)) if __name__== "__main__": main() Note que informei o valor 0 para o terceiro parâmetro da função repeat(). Isso faz com que os elementos da matriz sejam repetidos no eixo x. Veja: A matriz original é: [[1 2 3] [4 5 6]] A nova matriz é: [[1 2 3] [1 2 3] [1 2 3] [4 5 6] [4 5 6] [4 5 6]] Se trocarmos o valor 0 por 1, o resultado será: A matriz original é: [[1 2 3] [4 5 6]] A nova matriz é: [[1 1 1 2 2 2 3 3 3] [4 4 4 5 5 5 6 6 6]] |
![]() |
Python ::: Dicas & Truques ::: Lista (List) |
Como ordenar uma lista de inteiros em Python de acordo com a soma dos dígitos de seus elementos usando uma função lambdaQuantidade de visualizações: 791 vezes |
Nesta dica mostrarei como podemos usar uma função lambda em Python para ordenar uma lista de inteiros de acordo com a soma dos seus dígitos. Este é um código muito interessante e que permitirá um melhor entendimento de funções lambda em Python. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # método usado para ordenar a lista de acordo com a soma # de seus dígitos def ordenar(vetor): return sorted(vetor, key=lambda n: sum(int(c) for c in str(n) if c != "-")) # função principal do programa def main(): # vamos criar uma lista de inteiros valores = [21, 10, 8, 32, 70, 41, 40, 11] # vamos exibir a lista original print("Lista na ordem original: {0}".format(valores)) # agora vamos ordenar de acordo com a soma dos dígitos lista_ordenada = ordenar(valores) print("Lista ordenada: {0}".format(lista_ordenada)) if __name__== "__main__": main() Ao executarmos este código Python nós teremos o seguinte resultado: Lista na ordem original: [21, 10, 8, 32, 70, 41, 40, 11] Lista ordenada: [10, 11, 21, 40, 32, 41, 70, 8] |
Python ::: Dicas & Truques ::: Lista (List) |
Como pesquisar um item em uma list e removê-lo usando a função remove() do PythonQuantidade de visualizações: 8564 vezes |
Nesta dica mostrarei como é possível usar a função remove() do tipo de dados list para pesquisar um item em uma lista e removê-lo. Observe que, se o item a ser removido não for encontrado, um erro do tipo ValueError será exibido. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # função principal do programa def main(): # cria uma lista de inteiros valores = [2, 5, 12, 2, 3, 32, 18] # exibe a lista print(valores) try: valor = int(input("Informe o valor a ser removido: ")) valores.remove(valor) except ValueError: print("O valor pesquisado nao foi encontrado") else: print("O valor foi removido com sucesso") # exibe a lista print(valores) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: [2, 5, 12, 2, 3, 32, 18] Informe o valor a ser removido: 2 O valor foi removido com sucesso [5, 12, 2, 3, 32, 18] Observe que a função remove() da list remove apenas o primeiro item encontrado, ou seja, se a lista possuir mais de um valor igual, apenas o primeiro será removido. |
Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como somar os elementos da diagonal principal de uma matriz em PythonQuantidade de visualizações: 3608 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 para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- 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 |
Python ::: Dicas & Truques ::: Lista (List) |
Curso completo de Python - Como obter a quantidade de itens em uma lista PythonQuantidade de visualizações: 8753 vezes |
Nesta dica mostrarei como podemos usar a função len() da linguagem Python para obtermos a quantidade de itens em um objeto List. Não deixe de ver outros exemplos de List nesta mesma seção. Veja o código Python completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- def main(): # cria uma lista de nomes nomes = ['Carlos', 'Ricardo', 'Osmar'] # obtém a quantidade de elementos na lista print("A lista contém %d itens" % len(nomes)) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: A lista contém 3 itens |
Python ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é par ou ímpar em Python usando o operador de módulo - Python para MatemáticaQuantidade de visualizações: 17438 vezes |
O operador de módulo do Python nos permite obter o resto de uma divisão inteira, e podemos tirar proveito desse operador para verificarmos se um determinado número inteiro é par ou ímpar. Veja o exemplo:---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # função principal do programa def main(): # vamos pedir para o usuário informar um número numero = int(input("Informe um número: ")) # o número é par? if numero % 2 == 0: print("O numero informado é par") else: print("O numero informado é impar") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Informe um número: 8 O numero informado é par |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico |
Exercícios Resolvidos de Python - Como calcular o peso de uma pessoa na Lua usando PythonQuantidade de visualizações: 656 vezes |
Pergunta/Tarefa: Escreva um programa Python que leia o peso de uma pessoa na Terra e retorne o seu peso na Lua. Lembre-se da seguinte fórmula: \[\text{Peso na Lua} = \frac{\text{Peso na Terra}}{9,81} \times 1,622 \] Aqui nós estamos definindo a força da gravidade na Terra como 9,81 m/s2 e a força da gravidade na Lua como 1,622 m/s2. Se você quiser calcular o peso de uma pessoa em Marte, por exemplo, basta trocar a força da gravidade na Lua pela força da gravidade em Marte. Sua saída deverá ser parecida com: Peso na terra (kg): 70 O peso da pessoa na Lua é: 11.57 kg Veja a resolução comentada deste exercício usando Python: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # função principal do programa def main(): # vamos ler o peso da pessoa na Terra peso_terra = float(input("Peso na terra (kg): ")) # vamos calcular o peso da pessoa na Lua peso_lua = (peso_terra / 9.81) * 1.622 # arredonda para duas casas decimais peso_lua = round(peso_lua, 2) # vamos mostrar o resultado print("O peso da pessoa na Lua é: {0} kg".format(peso_lua)) if __name__== "__main__": main() |
Python ::: wxPython ::: wxFrame |
Como definir o ícone para uma janela wx.Frame do wxPythonQuantidade de visualizações: 7282 vezes |
Nesta dica mostrarei como usar a função SetIcon() da classe wx.TopLevelWindow para definir o ícone da janela de nossa aplicação wxPython. Observe que, se o ícone não for encontrado, uma mensagem de erro será exibida. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # vamos importar a biblioteca Wx import wx # vamos criar uma classe que herda de wxFrame class MinhaJanela(wx.Frame): def __init__(self): # chamamos o construtor da super classe wx.Frame.__init__(self, None, -1, "Cadastro de Clientes", size=(350, 200)) # Define o ícone para a janela self.SetIcon(wx.Icon("icone.ico", wx.BITMAP_TYPE_ICO)) if __name__ == "__main__": app = wx.App() janela = MinhaJanela() janela.Show(True) app.MainLoop() |
Python ::: Pygame ::: Animação, Animações, Técnicas de Animação |
Como criar um relógio analógico no Pygame - Código completo com variáveis e comentários em portuguêsQuantidade de visualizações: 1225 vezes |
Nesta dica mostrarei um código para a criação de um relógio analógico completo em Python, com comentários detalhados e fácil de entender. Veja a imagem:![]() Por simplicidade, eu mantive a mesma cor para todos os elementos da animação e deixei somente o básico mesmo, para que você possa se concentrar nas partes mais importantes. Neste código você aprenderá como definir o tamanho, título e cor de fundo para uma janela do Pygame do Python. Aprenderá também como definir a quantidade de frames por segundo para a animação, assim como controlar os disparos do timer pygame.time.Clock(). Por fim, o código mostra como calcular o ângulo dos ponteiros das horas, minutos e segundos e efetuar o desenho das retas saindo do centro do círculo. Você sabia, por exemplo, que o ângulo de 45 graus corresponde exatamente à hora 1:30hs? Em vários exemplos de relógios analógicos na internet, o ponteiro das horas fica preso à uma determinada hora, aguardando o ponteiro dos segundos completar um giro completo. No código que apresento aqui, eu obtive a hora atual como um decimal, o que faz com que o ponteiro das horas mostre a posição real da hora, como um relógio analógico do mundo real. Para estudantes de matemática, engenharia e física, este código é uma boa aplicação da técnica de se converter coordenadas polares para coordenadas cartesianas. Eis o código completo para o relógio analógico. Boa diversão. ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # vamos importar as bibliotecas necessárias import pygame, sys from pygame.locals import * import math from datetime import datetime # função que faz a correção dos ângulos def corrigir_angulo(angulo): return abs(angulo % 360) # inicializa a biblioteca pygame.init() # quantidade de frames por segundo FPS = 30 # construímos o timer timer = pygame.time.Clock() # obtém a superfície do jogo e define o tamanho da tela janela = pygame.display.set_mode((600, 400)) # vamos definir o título da janela do jogo pygame.display.set_caption('Relógio Analógico no Pygame') # vamos definir alguns parâmetros fonte = pygame.font.Font(None, 36) VERMELHO = (200, 0, 0) BRANCO = (255, 255, 255) raio = 150 x_inicial = 300 y_inicial = 200 distancia_aro = 20 # e aqui nós entramos no loop do game while True: # vamos pintar a tela toda de branco janela.fill(BRANCO) # monitoramos os eventos for evento in pygame.event.get(): # se o evento foi um pedido para sair if evento.type == QUIT: # fechamos a tela do jogo pygame.quit() # e saimos do programa sys.exit() # vamos desenhar um circulo não preenchido (maior) pygame.draw.circle(janela, VERMELHO, (x_inicial, y_inicial), raio, 2) # vamos desenhar um circulo não preenchido (menor) pygame.draw.circle(janela, VERMELHO, (x_inicial + 1, y_inicial + 1), 5, 0) # vamos desenhar os números do relório (1-12) for n in range(1, 13): # calcula o ângulo dessa hora angulo = math.radians((n * (360 / 12)) - 90) # agora convertemos o ângulo e o raio para coordenadas cartesianas if len(str(n)) > 1: x = math.cos(angulo) * (raio - distancia_aro) - 18 else: x = math.cos(angulo) * (raio - distancia_aro) - 10 y = math.sin(angulo) * (raio - distancia_aro) - 10 texto_numero = fonte.render(str(n), True, VERMELHO) janela.blit(texto_numero, (x_inicial + x, y_inicial + y)) # vamos obter as horas, minutos e segundos atuais hoje = datetime.today() horas = hoje.hour % 12 minutos = hoje.minute segundos = hoje.second # ajustamos as horas para tratar a hora decimal (com frações de horas) horas = horas + (minutos * (1 / 60)) + (segundos * (1 / 3600)) # desenha o ponteiro das horas angulo_horas = corrigir_angulo(horas * (360 / 12) - 90) angulo_horas = math.radians(angulo_horas) hora_x = math.cos(angulo_horas) * (raio - 60) hora_y = math.sin(angulo_horas) * (raio - 60) coord_finais = (x_inicial + hora_x, y_inicial + hora_y) pygame.draw.line(janela, VERMELHO, (x_inicial, y_inicial), coord_finais, 4) # desenha o ponteiro dos minutos angulo_minutos = corrigir_angulo(minutos * (360 / 60) - 90) angulo_minutos = math.radians(angulo_minutos) minutos_x = math.cos(angulo_minutos) * (raio - 40) minutos_y = math.sin(angulo_minutos) * (raio - 40) coord_finais = (x_inicial + minutos_x, y_inicial + minutos_y) pygame.draw.line(janela, VERMELHO, (x_inicial, y_inicial), coord_finais, 3) # desenha o ponteiro dos segundos angulo_segundos = corrigir_angulo(segundos * (360 / 60) - 90) angulo_segundos = math.radians(angulo_segundos) segundos_x = math.cos(angulo_segundos) * (raio - 30) segundos_y = math.sin(angulo_segundos) * (raio - 30) coord_finais = (x_inicial + segundos_x, y_inicial + segundos_y) pygame.draw.line(janela, VERMELHO, (x_inicial, y_inicial), coord_finais, 1) # redesenha a tela continuamente pygame.display.update() # aciona o disparo do timer timer.tick(FPS) |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |