Você está aqui: Python ::: Dicas & Truques ::: Lista (List) |
Ordenando uma lista de inteiros usando uma função de comparaçãoQuantidade de visualizações: 7919 vezes |
# -*- coding: UTF-8 -*- """ Este exemplo mostra como ordenar uma lista de inteiros usando uma função de comparação """ # define a função a ser usada na comparação def maior(x, y): if x > y: return 1 elif x == y: return 0 else: return -1 # cria uma lista de inteiros valores = [2, 5, 12, 2, 3, 32, 18] # exibe a lista na ordem original print valores # ordena a lista valores.sort(maior) # exibe a lista ordenada print valores |
Link para compartilhar na Internet ou com seus amigos: |
Python ::: Dicas & Truques ::: Matemática e Estatística |
Apostila Python para iniciantes - Como calcular juros compostos e montante usando PythonQuantidade de visualizações: 17611 vezes |
O regime de juros compostos é o mais comum no sistema financeiro e portanto, o mais útil para cálculos de problemas do dia-a-dia. Os juros gerados a cada período são incorporados ao principal para o cálculo dos juros do período seguinte. Chamamos de capitalização o momento em que os juros são incorporados ao principal. Após três meses de capitalização, temos: 1º mês: M = P . (1 + i) 2º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) 3º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) x (1 + i) Simplificando, obtemos a fórmula: M = P . (1 + i) ^ n Importante: a taxa i tem que ser expressa na mesma medida de tempo de n, ou seja, taxa de juros ao mês para n meses. Para calcularmos apenas os juros basta diminuir o principal do montante ao final do período: J = M - P Vejamos um exemplo: Considerando que uma pessoa empresta a outra a quantia de R$ 2.000,00, a juros compostos, pelo prazo de 3 meses, à taxa de 3% ao mês. Quanto deverá ser pago de juros? Veja o código Python para a resolução: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # função principal do programa def main(): principal = 2000.00 taxa = 0.03 meses = 3 montante = principal * pow((1 + taxa), meses) juros = montante - principal print("O total de juros a ser pago é:", juros) print("O montante a ser pago é:", montante) if __name__== "__main__": main() Ao executarmos este código Python nós teremos o seguinte resultado: O total de juros a ser pago é: 185.45400000000018 O montante a ser pago é: 2185.454 Um outra aplicação interessante é mostrar mês a mês a evolução dos juros. Veja o código a seguir: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # função principal do programa def main(): principal = 2000.00 taxa = 0.03 meses = 3 anterior = 0.0 for i in range(1, meses + 1): montante = principal * pow((1 + taxa), i) juros = montante - principal - anterior anterior += juros print("Mês:", i ," - Montante:", montante, "- Juros:", juros) if __name__== "__main__": main() Ao executarmos este código Python nós teremos o seguinte resultado: Mês: 1 - Montante: 2060.0 - Juros: 60.0 Mês: 2 - Montante: 2121.7999999999997 - Juros: 61.79999999999973 Mês: 3 - Montante: 2185.454 - Juros: 63.65400000000045 |
Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Python para Engenharia - Como multiplicar um vetor por um escalar usando Python e NumPyQuantidade de visualizações: 3266 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]] |
Python ::: PyQt GUI Toolkit ::: QMainWindow |
Como criar a janela principal de uma aplicação Python PyQt usando a classe QMainWindowQuantidade de visualizações: 1307 vezes |
Em geral toda aplicação GUI, ou seja, uma aplicação de interface visual, rodando no Window, Linux, MAC, etc, possui uma janela principal. No PyQt tal janela é criada como uma instância da classe QMainWindow. Veja a posição desta classe na hierarquia de classes do PyQt: QObject, QPaintDevice QWidget QMainWindow Uma janela QMainWindow possui o seu próprio layout, no qual podemos adicionar uma barra de ferramentas QToolBar, um QDockWidget (que serve para controles que "grudam" em lados diferentes da tela), uma barra de menus QMenuBar e uma barra de status QStatusBar. O layout oferecido pela classe QMainWindow possui uma área central que pode ser ocupada por qualquer tipo de controle visual. É nessa área central que podemos colocar outros tipos de gerenciadores de layouts, que servirão como containers para os componentes visuais da aplicação. Veja uma aplicação PyQt completa na qual temos uma janela principal QMainWindow e um botão QPushButton. Observe como tiramos proveito da programação orientada em Python para criar uma classe JanelaPrincipal que herda de QMainWindow: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar os módulos necessários import sys from PyQt6.QtCore import * from PyQt6.QtGui import * from PyQt6.QtWidgets import * # vamos criar uma classe que herda de QMainWindow class JanelaPrincipal(QMainWindow): # construtor da classe def __init__(self): super().__init__() # definimos o título da janela self.setWindowTitle("Cadastro de Produtos") # vamos criar um botão QPushButton botao = QPushButton("Novo Produto") # definimos este botão como o controle central # da janela principal self.setCentralWidget(botao) if __name__== "__main__": # cria a aplicação app = QApplication(sys.argv) # cria a janela principal e a coloca visível janela_principal = JanelaPrincipal() janela_principal.show() # executa a aplicação app.exec() |
Vamos testar seus conhecimentos em |
Vigas a flexão simples: seções retangulares As ações permanentes atuam na estrutura durante toda a sua vida útil, podendo apresentar poucas variações. Em vigas de concreto armado, essas ações normalmente são os carregamentos de paredes, das lajes apoiadas sobre elas e do seu próprio peso. Imagine uma viga de concreto V (15x40) que sustenta uma parede com 18cm de espessura e suporta duas lajes. O pé-direito da edificação é de 3,00m e tanto a viga que sustenta a parede quanto a no topo desta têm altura de 40cm. Considere que as reações de apoio das lajes nessa viga são de 3,55kN/m e 5,40kN/m. Nesse cenário, qual é o carregamento dessa viga? A) 10,45kN/m. B) 11,84kN/m. C) 13,89kN/m. D) 15,39kN/m. E) 16,15kN/m. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
O código de ética profissional: Concorrência As empresas, como instituições jurídicas, também têm importante papel junto à sociedade. O cumprimento desse papel social ocorre quando a organização, sendo uma atividade econômica devidamente regulamentada e organizada, ___________________. Marque a alternativa que completa a frase corretamente. A) gera empregos, distribui renda, efetua o recolhimento dos tributos conforme os resultados obtidos. B) terceiriza suas atividades, distribui renda, efetua o recolhimento dos tributos conforme a exigência legal. C) gera empregos, distribui renda, efetua o recolhimento dos tributos conforme a exigência legal. D) gera empregos, distribui igualitariamente a renda, efetua o recolhimento dos tributos conforme a exigência legal. E) garante o emprego para a mão de obra desqualificada, distribui renda, efetua o recolhimento dos tributos conforme a exigência legal. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
A coleção Set da linguagem Python permite itens repetidos. A) Verdadeiro B) Falso Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Cisalhamento e detalhamento de vigas O modelo clássico de treliça foi idealizado por Ritter e Mörsch no início do século XX e se baseia na analogia entre uma viga fissurada e uma treliça. Acerca desse modelo, marque a alternativa correta: A) As bielas comprimidas devem apresentar inclinação de 60º com o eixo longitudinal do elemento estrutural. B) As armaduras de cisalhamento, conhecidas como estribos, devem ter inclinação entre 45 e 90º. C) A treliça de Ritter e Mörsch deve ser hiperestática, havendo, dessa forma, engastamento nos nós. D) As diagonais tracionadas da treliça de Ritter e Mörsch são equivalentes às bielas de concreto. E) Na treliça de Ritter e Mörsch, os elementos resistentes são somente as armaduras longitudinal e transversal. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual o resultado da execução do seguinte código Python?# cria uma string palavra = "BRASIL" print("A letra é: {0}".format(palavra(2))) A) A letra é: A B) Um erro TypeError: 'str' object is not callable C) A letra é: R D) Um erro SyntaxError: EOL while scanning string literal E) A letra é: {0} 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 |
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 |