Você está aqui: Python ::: Dicas & Truques ::: Lista (List)

Ordenando uma lista de inteiros usando uma função de comparação

Quantidade 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 Python

Quantidade 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 NumPy

Quantidade 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 QMainWindow

Quantidade 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

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.