Em Python, no módulo math, temos disponíveis muitas funções e constantes matemáticas.
Funções e constantes do módulo math
Nota: esta lista é parcial contendo apenas as funções mais usadas.
Para usar as funções acima listadas é necessário importar o módulo math.
Exemplo:
>>> import math
>>> print(math.sqrt(16)) # Raiz quadrada de 16
4.0
>>> print(math.pi) # Constante PI
3.141592653589793
>>> print(math.trunc(math.pi)) # Parte inteira do número PI
3
Como consultar as funções disponíveis no módulo math
Para consultar as funções disponíveis no módulo math basta escrever math. e esperar que surja a lista das funções, conforme figura abaixo.
Outras funções matemáticas
round()
Arredonda um número.
Exemplo 1:
>>> a=2.6
>>> b=round(a)
>>> print(b)
3
Exemplo 2:
>>> a=2.1654
>>> b=round(a,2)
>>> print(b)
2.17
O número foi arredondado para 2 casas decimais.
Nota: o comportamento do round() com floats (números representados em "vírgula flutuante") pode ser surpreendente: por exemplo, round(2.675, 2) dá 2.67 em vez de 2.68 como é esperado. Isto não é um erro: é resultante do facto the maior parte das frações decimais poderem ser representadas exatamente como um float. Para mais informação consultar: Floating Point Arithmetic: Issues and Limitations.
Para resolver a situação anterior e análogas, deve usar o módulo decimal.
Um módulo é uma biblioteca (definições e instruções). No Python, à semelhança do que acontece com a generalidade das linguagens de programação, para além do recursos do núcleo da linguagem são distribuídas um conjunto de bibliotecas desenvolvidas para propósitos específicos. No caso, o módulo decimal destina-se a operações com números float.
Exemplo:
>>> from decimal import Decimal
>>> a=Decimal(2.675)
>>> print(a)
2.67499999999999982236431605997495353221893310546875
>>> b=round(a,2)
>>> print(b)
2.67
>>> c=Decimal('2.675')
>>> print(c)
2.675
>>> d=round(c,2)
>>> print(d)
2.68
Notas:
from decimal import Decimal - importa o módulo decimal;
Decimal(2.675) versus Decimal('2.675') - verifique-se a diferença dos valores armazenados e o impacto que terá no round posterior.
abs()
Valor absoluto de um número.
Exemplo:
>>> a=-5
>>> b=abs(a)
>>> print(b)
5
math.inf e -math.inf
Ao contrário da generalidade das linguagens de programação, o Python, a partir da versão 3.5, permite representar o mais infinito (math.inf) e o menos infinito (-math.inf).
Módulo random
O módulo random permite gerar números aleatórios.
Exemplo:
>>> import random
>>> random.random()
0.26045595444912195
>>> random.randint(1,10)
7
random.random() - gera um número aleatório entre [0,1[
random.int(1,10) - gera um número aleatório entre [1,10]