Python: Matemática e Estatística

Última atualização: 2026-09-22

Computação numérica é uma habilidade fundamental de programação. A biblioteca padrão do Python fornece um conjunto completo de ferramentas — desde funções matemáticas básicas até análise estatística, desde aritmética decimal precisa até operações com frações. Esta lição ensina você a usar o módulo certo para o cenário certo.


Funções internas relacionadas:round() abs() float sum()

1. math — Funções Matemáticas

PYTHON
import math

# Constantes comuns
print(math.pi)                  # 3.141592653589793
print(math.e)                   # 2.718281828459045

# Arredondamento
print(math.ceil(3.14))          # 4 (teto)
print(math.floor(3.14))         # 3 (piso)

# Potências e logaritmos
print(math.pow(2, 10))          # 1024.0 (2 elevado a 10)
print(math.sqrt(16))            # 4.0 (raiz quadrada)
print(math.log(100, 10))        # 2.0 (log base 10)

# Trigonometria
print(math.sin(math.pi / 2))    # 1.0
print(math.cos(0))              # 1.0
print(math.radians(180))        # 3.14159... (graus para radianos)

▶ Exemplo: Cálculo de Distância (Dificuldade ⭐)

▶ Experimente

Saída:

TEXT 📖 Somente leitura
# Function defined successfully


2. statistics — Análise Estatística

PYTHON
import statistics

data = [12, 15, 18, 20, 22, 25, 30, 35, 40]

# Tendência central
print(statistics.mean(data))        # 24.11 (média)
print(statistics.median(data))      # 22 (mediana)
# print(statistics.mode(data))      # moda (error se não houver moda única)

# Dispersão
print(statistics.stdev(data))       # 9.32 (desvio padrão amostral)
print(statistics.variance(data))    # 86.86 (variância amostral)

▶ Exemplo: Análise de Notas (Dificuldade ⭐⭐)

▶ Experimente

Saída:

TEXT 📖 Somente leitura
=== Análise de Notas ===
\n=== Distribuição de Notas ===

▶ Exemplo: Estatísticas de Temperatura Urbana (Dificuldade ⭐⭐)

▶ Experimente

Saída:

TEXT 📖 Somente leitura
=== Estatísticas de Temperatura Urbana ===

São Paulo:
  Média anual: 19.3C
  Mediana: 19.0C
  Desvio padrão: 3.3C
  Faixa: 16.0C ~ 22.6C

Rio de Janeiro:
  Média anual: 23.8C
  Mediana: 24.0C
  Desvio padrão: 2.5C
  Faixa: 21.3C ~ 26.3C


3. decimal — Aritmética Decimal Precisa

PYTHON
from decimal import Decimal, getcontext

# Problema de precisão float
print(0.1 + 0.2)                    # 0.30000000000000004 ❌

# Cálculo preciso com Decimal
print(Decimal("0.1") + Decimal("0.2"))      # 0.3 ✅

# Definir precisão
getcontext().prec = 4               # Precisão global de 4 dígitos
print(Decimal(1) / Decimal(3))      # 0.3333 (4 dígitos)

# Cálculos financeiros devem usar Decimal
price = Decimal("19.99")
quantity = Decimal("3")
tax_rate = Decimal("0.08")
total = price * quantity
tax = total * tax_rate
print(f"Total: {total:.2f}")          # 59.97
print(f"Imposto: {tax:.2f}")          # 4.80
print(f"Valor a pagar: {total + tax:.2f}")  # 64.77
💡 Sempre use Decimal para cálculos financeiros, nunca float. O problema de precisão de 0.1 + 0.2 é fatal em finanças. Decimal sacrifica algum desempenho por aritmética decimal precisa.



4. fractions — Aritmética de Frações

PYTHON
from fractions import Fraction

# Criar frações
f1 = Fraction(1, 3)                 # 1/3
f2 = Fraction(2, 6)                 # Auto-reduz para 1/3
print(f1)                           # 1/3
print(f2)                           # 1/3
print(f1 == f2)                     # True

# Operações com frações
a = Fraction(1, 2)
b = Fraction(1, 3)
print(a + b)                        # 5/6
print(a * b)                        # 1/6
print(a / b)                        # 3/2

# Conversão entre frações e floats
print(float(Fraction(1, 3)))        # 0.3333333333
print(Fraction(0.25).limit_denominator())  # 1/4


5. Casos de Uso Comuns


Funções internas relacionadas:round() abs() float sum()

❓ Perguntas Frequentes

P Qual a diferença entre o módulo math e as funções embutidas abs(), round(), sum()?
R Funções embutidas lidam com operações básicas (valor absoluto, arredondamento, soma). math fornece funções mais especializadas (trigonometria, logaritmos, fatorial). Use funções embutidas quando elas forem suficientes.
P statistics.mean() é melhor que calcular a média manualmente?
R mean() é otimizado internamente (uma passagem para soma e contagem), tem melhor desempenho para grandes conjuntos de dados e lida com casos extremos como listas vazias.
P Quando devo usar Fraction vs Decimal?
R Use Fraction quando precisar de aritmética racional exata (como exercícios de frações em software educacional). Use Decimal para cálculos decimais com precisão controlada (como finanças). Para casos simples, float é suficiente — 99% da programação diária não precisará de nenhum destes.

📖 Resumo



📝 Exercícios

  1. Básico (Dificuldade ⭐): Use o módulo math para calcular a área e a circunferência de um círculo com raio 7.

  2. Intermediário (Dificuldade ⭐⭐): Dado data = [23, 45, 67, 12, 34, 56, 78, 90, 11, 43], use statistics para calcular média, mediana e desvio padrão. Depois use math para determinar quais valores estão dentro de "média ± desvio padrão."

  3. Desafio (Dificuldade ⭐⭐⭐): Escreva um programa de "finalização de carrinho de compras." Produtos têm nomes, preços unitários (Decimal) e quantidades. Após adicionar itens, calcule o total, imposto (8%) e desconto (subtraia 10 para cada 100), depois exiba o valor final. Requisito: Todos os cálculos monetários devem usar Decimal.

Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%