Rodadas em Python: explicação e aplicação

Python oferece várias maneiras de arredondar números. Neste artigo, apresentarei alguns métodos para arredondar números de diferentes maneiras em Python. Isso inclui o uso das funções round, math.ceil e math.floorbem como o uso do Decimal-Aula. Também explicarei como você pode implementar suas próprias classes para personalizar o arredondamento de números.

Principais vantagens:

  • Python fornece vários métodos para arredondar números.
  • A função round arredonda um número para um número especificado de casas decimais ou para o número inteiro mais próximo.
  • O math-Biblioteca contém as funções math.ceil e math.floor para arredondar números para cima ou para baixo.
  • Com o Decimalclasse permite arredondar números decimais com alta precisão.
  • É possível implementar seus próprios algoritmos de arredondamento em Python.

Arredondando com a função `round` em Python

Com a função round Você pode arredondar números para um certo número de casas decimais em Python. Você também pode especificar um número inteiro para arredondar para o número inteiro mais próximo. O comando fica assim round(Zahl, Dezimalstellen). Se nenhum decimal for especificado, o padrão é arredondar para o número inteiro mais próximo.

Para arredondar com a função round Para esclarecer, vejamos um exemplo:


x = 4.5632
gerundet_auf_2_stellen = round(x, 2)
gerundet_auf_ganze_zahl = round(x)

No exemplo acima, o número x arredondado para 2 casas decimais e o resultado passa a ser a variável gerundet_auf_2_stellen atribuído. A função round também é usado sem especificar as casas decimais para arredondar para o número inteiro mais próximo. O resultado está na variável gerundet_auf_ganze_zahl salvo.

O comando round é muito útil para arredondar números de forma rápida e fácil em Python. Nas próximas seções aprenderemos mais métodos de arredondamento em Python.

Arredondando com a biblioteca `math` em Python

Em Python, além da função `round`, também existe a opção de usar a biblioteca `math` para arredondar números para dígitos específicos. Esta biblioteca contém as funções `math.ceil` e `math.floor`, que podem ser usadas para arredondar números para cima ou para baixo.

A função `math.ceil` sempre arredonda um número para cima, ou seja, é arredondado para o próximo maior número inteiro. Isto é particularmente útil quando você deseja garantir que um número seja sempre arredondado para cima, independentemente da sua parte decimal.

Em contraste, a função `math.floor` sempre arredonda um número para baixo, ou seja, é arredondado para o próximo número inteiro menor. Esta função é útil quando se deseja garantir que um número seja sempre arredondado para baixo, independentemente da sua parte decimal.

Rodadas com `math.ceil` e `math.floor` – Exemplos:

  • math.ceil(3.7) dá 4
  • math.ceil(5.2) dá 6
  • math.floor(3.7) retorna 3
  • math.floor(5.2) retorna 5

Além das funções `ceil` e `floor`, a biblioteca `math` também fornece muitas outras funções matemáticas que podem ser úteis ao manipular números em Python.

Agora que conhecemos os fundamentos do arredondamento usando a biblioteca `math`, na próxima seção veremos a classe `Decimal`, que fornece alta precisão na representação de números decimais em Python.

Implementando seus próprios algoritmos de arredondamento em Python

Em Python você tem a opção de implementar suas próprias classes para personalizar o arredondamento dos números de acordo com sua necessidade. Uma maneira de fazer isso é usar o método mágico __round__. Este método permite definir o arredondamento de um número para uma casa decimal específica. Aqui está um exemplo de como fazer isso __round__O método pode ser implementado em sua própria classe:

class MeinRunderKlasse:
    def __init__(self, zahl):
        self.zahl = zahl

    def __round__(self, dezimalstellen):
        faktor = 10 ** dezimalstellen
        gerundete_zahl = round(self.zahl * faktor) / faktor
        return gerundete_zahl

Neste exemplo usamos o round-Função para arredondar o número. Primeiro multiplicamos o número por um fator que depende do número de casas decimais para arredondar. Em seguida, dividimos o número arredondado pelo fator para retornar o resultado.

Outra maneira de implementar seus próprios algoritmos de arredondamento é usar o algoritmo “Round half up”. Este algoritmo arredonda um número para o número inteiro mais próximo. Aqui está uma implementação do algoritmo “Round half up”:

def round_half_up(zahl):
    gerundete_zahl = int(zahl + 0.5)
    return gerundete_zahl

Este algoritmo primeiro incrementa o número em 0,5 e depois o converte em um número inteiro. Isso arredondará o número para o número inteiro mais próximo.

Arredondando números decimais em Python

O decimalmódulo em Python fornece um método preciso para arredondar números decimais. Permite criar números decimais com alta precisão e oferece diversos métodos de arredondamento.

Para criar um número decimal em Python, o Decimalfunção pode ser usada. Isso pega um número como argumento e o arredonda para o número desejado de casas decimais.

O método pode ser usado para arredondar para um número inteiro quantize(Decimal('0'), rounding=ROUND_HALF_UP) ser usado. Isso arredonda o número decimal para o número inteiro mais próximo. Para arredondar para duas casas decimais, pode-se usar o método quantize(Decimal('0.00'), rounding=ROUND_HALF_UP) ser usado.

É importante observar que a divisão de ponto flutuante tem diferenças no Python 2 e no Python 3. Para obter resultados consistentes, o from __future__ import division A instrução deve ser colocada no início do código. Isso faz com que a divisão de ponto flutuante seja usada em ambas as versões do Python.

Perguntas frequentes

Quais funções existem em Python para arredondar números?

Python oferece várias maneiras de arredondar números. Isso inclui as funções `round`, `math.ceil`, `math.floor` e o uso da classe `Decimal`.

Como faço para usar a função `round` em Python?

A função `round` pode ser usada para arredondar números em Python para um número específico de casas decimais. Você também pode especificar um número inteiro para arredondar para o número inteiro mais próximo. O comando se parece com isto: `round(number, decimals)`. Se nenhum decimal for especificado, o padrão é arredondar para o número inteiro mais próximo.

Que outros métodos de arredondamento a biblioteca `math` fornece em Python?

A biblioteca `math` contém as funções `math.ceil` para arredondamento e `math.floor` para arredondamento de números.

Como posso implementar meus próprios métodos de arredondamento em Python?

Em Python você pode implementar suas próprias classes e usar o método mágico `__round__` para definir seu próprio método de arredondamento. Você também pode implementar o algoritmo de arredondamento “Round half up”, que arredonda um número para o número inteiro mais próximo.

Como arredondar decimais em Python?

Usando o módulo `decimal` em Python, pode-se criar números decimais de alta precisão e arredondá-los para um número específico de casas decimais. O módulo `decimal` fornece vários métodos de arredondamento que podem ser aplicados.

Referências de origem

Programação

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.