Você está aqui: Python ::: Dicas & Truques ::: Sobrecarga de Operadores |
Como sobrecarregar o operador de adição em Python para efetuar a soma de fraçõesQuantidade de visualizações: 1156 vezes |
A sobrecarga de operadores em Python é muito útil quando precisamos estender a funcionalidade dos operadores fornecidos pela linguagem. Nesta dica abordarei a sobrecarga do operador de soma ("+") para mostrar como podemos criar uma classe Fração e usar a sobrecarga de operador para efetuar a soma de dois termos, ou seja, de dois objetos da classe Fração. Sabemos que o operador de adição ("+") é usado em Python para somar dos valores numéricos e também para concatenar strings. Para estender este operador para classes, ou seja, dar um significado diferente a ele, podemos usar a função mágica __add__(self, other), na qual self se refere à instância atual e other se refere à instância cujos dados queremos "somar" com os dados da instância atual. Veja um trecho de código completo contendo a classe Fracao e o método main() para testes. Note que fazemos a soma de duas frações e retornamos o resultado em sua forma simplificada, ou seja, reduzida: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- class Fracao: # construtor que recebe o numerador e o denominador # da fração def __init__(self, numerador = 0, denominador = 1): self.numerador = numerador self.denominador = denominador # efetua a soma de duad frações def __add__(self, outra_fracao): # cria a fração resultante res = Fracao() # o numerador da fração resultante recebe o numerador da # segunda fração multiplicado pelo denominador da fração atual res.numerador = outra_fracao.numerador * self.denominador # o numerador da fração resultante é somado com o produto do # denominador da segunda fração pelo numerador da fraçao atual res.numerador += outra_fracao.denominador * self.numerador # o denormiador da fração resultante recebe o produto do # denominador da segunda fração pelo denominador da fração # atual res.denominador = outra_fracao.denominador * self.denominador # faz a simplificação da fração resultante res.simplificar() return res # retorna a fração resultante # permite simplificar a fração def simplificar(self): maior = self.numerador if self.numerador > self.denominador else self.denominador # Máximo Divisor Comum (MDC) mdc = 0 for i in range(2, maior + 1): if (self.numerador % i == 0) and (self.denominador % i) == 0: mdc = i if mdc != 0: self.numerador /= mdc self.denominador /= mdc # método que mostra o numerador e denominador desta fração def imprimir(self): # o resultado é 1/1 if (self.numerador == 1) and (self.denominador == 1): return ("1") # o denominador é 1 elif self.denominador == 1: return (str(self.numerador)) else: return (str(self.numerador) + "/" + (str(self.denominador))) # método principal def main(): # primeira fração a = Fracao(4, 3) # segunda fração b = Fracao(5, 7) # fração resultante c = a + b # mostra o resultado print("O resultado é: " + c.imprimir()) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: c:\estudos_python>python estudos.py O resultado é: 43/21 |
Link para compartilhar na Internet ou com seus amigos: |
Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Matemática e Estatística |
Python para estatística - Como calcular a mediana de um conjunto de valores usando o método median() da biblioteca NumPy da linguagem PythonQuantidade de visualizações: 16317 vezes |
A mediana (Md) representa o valor central de um conjunto de dados. Para encontrá-la, é necessário colocar os valores em ordem crescente ou decrescente. Quando o número elementos de um conjunto é par, a mediana é encontrada pela média dos dois valores centrais. Assim, esses valores são somados e divididos por dois. Veja a seguinte figura: A biblioteca NumPy do Python nos oferece o método median(), que recebe um vetor de valores númericos (inteiro ou decimais) e retorna a mediana deles. Veja um exemplo com os primeiros valores da figura (um conjnto ímpar): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # importamos a biblioteca NumPy import numpy def main(): # valores a serem observados valores = [2, 2, 3, 7, 8, 9, 9] # vamos obter a mediana mediana = numpy.median(valores) # vamos mostrar o resultado print("A mediana dos valores é:", mediana) if __name__== "__main__": main() Ao executarmos este código nós teremos o seguinte resultado: A mediana dos valores é: 7.0 Veja agora o exemplo usando o segundo grupo de valores da imagem (conjunto par): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # importamos a biblioteca NumPy import numpy def main(): # valores a serem observados valores = [1, 4, 4, 5, 6, 7, 7, 7] # vamos obter a mediana mediana = numpy.median(valores) # vamos mostrar o resultado print("A mediana dos valores é:", mediana) if __name__== "__main__": main() O resultado da execução desse código será: A mediana dos valores é: 5.5 É importante observar que o método median() da NumPy não exige que os valores estejam ordenados. A própria função se encarrega dessa tarefa. |
Python ::: Dicas & Truques ::: Data e Hora |
Como retornar o dia do mês em Python como um decimal no intervalo 01-31 usando strftime("%d")Quantidade de visualizações: 8035 vezes |
Como retornar o dia do mês em Python como um decimal no intervalo 01-31 usando strftime("%d") Este exemplo mostra como usar a função strftime() e o sinalizador ("%d") para retornar o dia do mês a partir de um datetime. Observe que o dia do mês será retornado como um decimal no intervalo 01-31. ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- from datetime import datetime def main(): # Obtém um datetime da data e hora atual hoje = datetime.today() # Exibe o dia do mês como um decimal print(hoje.strftime("O dia do mês é: %d")) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: O dia do mês é: 26 |
Python ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular porcentagem em Python - Como efetuar cálculos de porcentagem em PythonQuantidade de visualizações: 25673 vezes |
Cálculos de porcentagens estão presentes em boa parte das aplicações que desenvolvemos. Porém, há momentos em que a mente trava e não conseguimos lembrar com clareza como estes cálculos são feitos, principalmente em Python. Esta anotação tem o objetivo de ser uma fonte de pesquisa para os momentos em que suas habilidades matemáticas insistirem em continuar ocultas. Ex: 1 - Suponhamos que um produto que custe R$ 178,00 sofra um acréscimo de 15%. Qual o valor final do produto? Veja o código em Python: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # Algoritmo que calcula porcentagem em Python def main(): valor = 178.00 # valor original percentual = 15.0 / 100.0 # 15% valor_final = valor + (percentual * valor) # mostra o resultado print("O valor final do produto é: {0}".format(valor_final)) # O resultado será 204,70 if __name__== "__main__": main() Ex: 2 - Um produto, cujo valor original era de R$ 250,00, teve um desconto de 8%. Qual foi seu valor final? Veja o código em Python: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # Algoritmo que calcula porcentagem em Python def main(): valor = 250.00 # valor original percentual = 8.0 / 100.0 # 8% valor_final = valor - (percentual * valor) # mostra o resultado print("O valor final do produto é: {0}".format(valor_final)) # O resultado será 230,00 if __name__== "__main__": main() Ex: 3 - Em um concurso de perguntas e respostas, um jovem acertou 72 das 90 perguntas apresentadas. Qual foi a porcentagem de acertos? E a porcentagem de erros? Veja o código em Python: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # Algoritmo que calcula porcentagem em Python def main(): perguntas = 90.0 acertos = 72.0 # mostra a porcentagem de acertos print("Porcentagem de acertos: {0}%".format((acertos / perguntas) * 100)) # mostra a porcentagem de erros print("Porcentagem de erros: {0}%".format(((perguntas - acertos) / perguntas) * 100)) # Os resultados serão 80% e 20% if __name__== "__main__": main() Ex: 4 - Um aparelho de CD foi adquirido por R$ 300,00 e revendido por R$ 340,00. Qual foi a porcentagem de lucro na transação? Veja o código em Python: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # Algoritmo que calcula porcentagem em Python def main(): valor_anterior = 300.0 # valor anterior novo_valor = 340.0 # valor novo # calcula a porcentagem de lucro # efetua o cálculo porcentagem_lucro = ((novo_valor * 100) / valor_anterior) - 100 print("A porcentagem de lucro foi de: {0}%".format(porcentagem_lucro)) # O resultado será 13,33 if __name__== "__main__": main() Ex: 5 - Uma loja repassa 5% do lucro a seus vendedores. Se um produto custa R$ 70,00, qual o valor em reais repassado a um determinado vendedor? Veja o código em Python: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # Algoritmo que calcula porcentagem em Python def main(): valor = 70.0 # valor do produto percentual = 5.0 / 100.0 # 5% # calcula a comissão comissao = percentual * valor # mostra o resultado print("O valor repassado ao vendedor é: {0}".format(comissao)) # O resultado será 3,5 if __name__== "__main__": main() |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
PHP - Datas e horas em PHP - Como subtrair horas de uma data usando a função mktime() da linguagem PHP |
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 |