Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Escreva um programa que solicita doze números do tipo inteiro ao usuário e guarde-os em um vetor. Separe esses números em pares e ímpares e os armazene em dois - Exercícios Resolvidos de PythonQuantidade de visualizações: 578 vezes |
Pergunta/Tarefa: Escreva um programa que solicita doze números do tipo inteiro ao usuário e guarde-os em um vetor. Separe esses números em pares e ímpares e os armazene em dois outros vetores chamados vetpar e vetimpar. Em seguida, o programa deve apresentar os resultados na tela. Sua saída deverá ser parecida com: Informe o 1.o número: 3 Informe o 2.o número: 65 Informe o 3.o número: 12 Informe o 4.o número: 31 Informe o 5.o número: 9 Informe o 6.o número: 7 Informe o 7.o número: 10 Informe o 8.o número: 21 Informe o 9.o número: 80 Informe o 10.o número: 4 Informe o 11.o número: 50 Informe o 12.o número: 37 Os números pares lidos foram: 12 10 80 4 50 Os números ímpares lidos foram: 3 65 31 9 7 21 37 Veja a resolução comentada deste exercício usando Python console: ---------------------------------------------------------------------- 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 um vetor de 6 inteiros num = [0 for x in range(12)] # para guardar os números lidos vetpar = [0 for x in range(12)] # para os números pares vetimpar = [0 for x in range(12)] # para os números ímpares cont_par = 0; cont_impar = 0 # vamos pedir para o usuário informar doze números inteiros for i in range(len(num)): num[i] = int(input("Informe o {0}o número: ".format(i + 1))) # o número lido é par? if num[i] % 2 == 0: vetpar[cont_par] = num[i] cont_par = cont_par + 1 else: # o número lido é ímpar vetimpar[cont_impar] = num[i] cont_impar = cont_impar + 1 # vamos mostrar os números pares print("\nOs números pares lidos foram:") for i in range(cont_par): print(vetpar[i], end=" ") # vamos mostrar os números ímpares print("\nOs números ímpares lidos foram:") for i in range(cont_impar): print(vetimpar[i], end=" ") if __name__== "__main__": main() |
Link para compartilhar na Internet ou com seus amigos: |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: NumPy Python Library |
Exercício Resolvido de Python NumPy - Como somar duas matrizes usando a biblioteca NumPy do PythonQuantidade de visualizações: 904 vezes |
Pergunta/Tarefa: Escreva um programa Python que usa a biblioteca NumPy para efetuar a soma de duas matrizes de mesma ordem, ou seja, mesmo número de linhas e colunas. Seu código deverá somar o primeiro elemento da matriz A com o primeiro elemento da matriz B, e assim por diante. Sua saída deverá ser parecida com: A primeira matriz é: [[4 1 3] [9 2 5]] A segunda matriz é: [[ 3 10 2] [ 1 13 4]] A matriz soma é: [[ 7 11 5] [10 15 9]] Veja a resolução comentada deste exercício em Python: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar a biblioteca NumPy import numpy as np # função principal do programa def main(): # vamos criar a primeira matriz a = np.array([[4, 1, 3], [9, 2, 5]]) # vamos criar a segunda matriz b = np.array([[3, 10, 2], [1, 13, 4]]) # vamos somar as duas matrizes c = a + b # e agora mostramos o resultado print("A primeira matriz é:\n{0}".format(a)) print("A segunda matriz é:\n{0}".format(b)) print("A matriz soma é:\n{0}".format(c)) if __name__== "__main__": main() |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Python - Uma função recursiva que conta quantas vezes um valor inteiro k ocorre em um vetor de inteirosQuantidade de visualizações: 402 vezes |
Pergunta/Tarefa: Escreva uma função recursiva em Python que conta quantas vezes um valor inteiro k ocorre em um vetor de 10 inteiros. Sua função deverá ter a seguinte assinatura: # função recursiva que recebe um valor e informa quantas vezes # ele aparece no vetor também informado def quant_repeticoes(indice, valor, vetor): # sua implementação aqui Sua saída deverá ser parecida com: Informe o 1 valor: 2 Informe o 2 valor: 7 Informe o 3 valor: 4 Informe o 4 valor: 7 Informe o 5 valor: 1 Informe o valor a ser pesquisado no vetor: 7 O valor informado se repete 2 vezes. 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 um vetor de 10 inteiros valores = [0 for x in range(5)] # vamos pedir ao usuário que informe os valores do vetor for i in range(len(valores)): valores[i] = int(input("Informe o %d.o valor: " % ((i + 1)))) # agora vamos pedir para informar o valor a ser pesquisado valor = int(input("\nInforme o valor a ser pesquisado no vetor: ")) # e vamos ver a quantidade de repetições repeticoes = quant_repeticoes(0, valor, valores) print("O valor informado se repete {0} vezes.".format(repeticoes)) # função recursiva que recebe um valor e informa quantas vezes # ele aparece no vetor também informado def quant_repeticoes(indice, valor, vetor): if indice == len(vetor) - 1: # caso base...hora de parar a recursividade if vetor[indice] == valor: return 1 # mais um repetição foi encontrada else: # dispara mais uma chamada recursiva if vetor[indice] == valor: # houve mais uma repetição return 1 + quant_repeticoes(indice + 1, valor, vetor) else: return 0 + quant_repeticoes(indice + 1, valor, vetor) # não repetiu return 0 # só para deixar o compilador satisfeito...esta linha nunca é executada if __name__== "__main__": main() |
Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como converter Coordenadas Cartesianas para Coordenadas Polares usando PythonQuantidade de visualizações: 5426 vezes |
Nesta nossa série de Python para Geometria Analítica e Álgebra Linear, mostrarei um código 100% funcional para fazer a conversão entre coordenadas cartesianas e coordenadas polares. Esta operação é muito frequente em computação gráfica e é parte integrante das disciplinas dos cursos de Engenharia (com maior ênfase na Engenharia Civil). Na matemática, principalmente em Geometria e Trigonometria, o sistema de Coordenadas no Plano Cartesiano, ou Espaço Cartesiano, é um sistema que define cada ponto em um plano associando-o, unicamente, a um conjuntos de pontos numéricos. Dessa forma, no plano cartesiano, um ponto é representado pelas coordenadas (x, y), com o x indicando o eixo horizontal (eixo das abscissas) e o y indicando o eixo vertical (eixo das ordenadas). Quando saímos do plano (espaço 2D ou R2) para o espaço (espaço 3D ou R3), temos a inclusão do eixo z (que indica profundidade). Já o sistema de Coordenadas Polares é um sistema de coordenadas em duas dimensões no qual cada ponto no plano é determinado por sua distância a partir de um ponto de referência conhecido como raio (r) e um ângulo a partir de uma direção de referência. Este ângulo é normalmente chamado de theta (__$\theta__$). Assim, um ponto em Coordenadas Polares é conhecido por sua posição (r, __$\theta__$). Antes de prosseguirmos, veja uma imagem demonstrando os dois sistemas de coordenadas: A fórmula para conversão de Coordenadas Cartesianas para Coordenadas Polares é: __$r = \sqrt{x^2+y2}__$ __$\theta = \\arctan\left(\frac{y}{x}\right)__$ E aqui está o código Python completo que recebe as coordenadas cartesianas (x, y) e retorna as coordenadas polares (r, __$\theta__$): ---------------------------------------------------------------------- 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 import math as math def main(): # vamos ler as coordenadas cartesianas x = float(input("Valor de x: ")) y = float(input("Valor de y: ")) # vamos calcular o raio raio = math.sqrt(math.pow(x, 2) + math.pow(y, 2)) # agora calculamos o theta (ângulo) em radianos theta = np.arctan2(y, x) # queremos o ângulo em graus também angulo_graus = 180 * (theta / math.pi) # e exibimos o resultado print("As Coordenadas Polares são:") print("raio = %0.4f, theta = %0.4f, ângulo em graus = %0.2f" % (raio, theta, angulo_graus)) if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: Valor de x: -1 Valor de y: 1 As Coordenadas Polares são: raio = 1.4142, theta = 2.3562, ângulo em graus = 135.00 Veja que as coordenadas polares equivalentes são (__$\sqrt{2}__$, __$\frac{3\pi}{4}__$), com o theta em radianos. Sim, os professores das disciplinas de Geometria Analítica e Álgebra Linear, Física e outras gostam de escrever os resultados usando raízes e frações em vez de valores reais. |
Vamos testar seus conhecimentos em AutoCAD Civil 3D |
Qual afirmação é verdadeira em relação aos Survey Points (pontos de levantamento) do AutoCAD Civil 3D? A) Eles podem ser editados na paleta de propriedades. B) Eles possuem um ícone ao seu lado que se parece com um círculo sobreposto por uma cruz. C) Eles não podem ser movidos usando comandos básicos que não sejam específicos do Civil 3D. D) Eles podem ser editados na janela Panorama -> tab Point Editor. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Domínios de Deformações O dimensionamento de uma seção transversal de um elemento linear concreto armado, sujeito a solicitações normais, de acordo com a NBR 6118 - "Projeto de estruturas de concreto" - é realizado com base em hipóteses básicas. A respeito dessas hipóteses, analise as informações a seguir, indicando V para as verdadeiras e F para as falsas: ( ) A distribuição das deformações ocorre de forma não linear ao longo da altura da seção. ( ) As deformações nas barras de armadura são idênticas às deformações do concreto que as envolve. ( ) Admite-se que todas as tensões de tração existentes serão resistidas pelo concreto e pela armadura. ( ) Adota-se o diagrama parábola-retângulo idealizado para o concreto comprimido. Assinale a alternativa que contém a sequência correta: A) V - V - F - F. B) V - F - F - F. C) F - V - F - V. D) F - V - V - V. E) V - F - F - V. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Hidrologia |
Como é chamada a área de relevo mais elevado entre cursos de água contíguos e que serve para delimitação das bacias hidrográficas? A) Vale fluvial. B) Colúvio. C) Interflúvio. D) Planalto. E) Planície pluvial. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Estrutura e propriedade dos materiais A compreensão de muitas propriedades físicas dos materiais baseia-se no entendimento das forças existentes entre as moléculas. Em relação às ligações atômicas, assinale a alternativa correta. A) Cada ligação tem por objetivo fazer com que os átomos adquiram ligações metálicas. B) As ligações não costumam ocorrer concomitantemente em um mesmo material. C) Há três tipos de ligações diferentes: iônica, covalente e a força de Van der Waals. D) As ligações atômicas em alguns materiais podem ser puramente iônicas ou covalentes. E) A ligação metálica se dá por meio de uma aproximação muito intensa dos elementos. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Noções de licitação pública O procedimento licitatório compreende duas fases: a fase interna, ocorrida dentro do órgão ou da entidade, e a fase externa. Sobre as fases da licitação pública, assinale "V" para as afirmativas verdadeiras e "F" para as falsas. ( ) Cabem à comissão de licitação a homologação e a adjudicação do certame. ( ) A fase de habilitação poderá ser invertida a critério da administração e mediante apresentação de justificativa da referida inversão. ( ) A publicação do instrumento convocatório é a última etapa da fase interna da licitação. A alternativa que apresente a sequência correta é: A) V, V, V. B) F, F, F. C) V, V, F. D) F, V, V. E) F, V, F. 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 |
JavaScript - Como resolver uma equação do segundo grau em JavaScript - Como calcular Bhaskara em JavaScript JavaScript - JavaScript Avançado - Como remover todas as ocorrências de uma substring em uma string usando uma função recursiva |
Códigos Fonte |
Software 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 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 |