A média de n valores, x_{0}, x_{1}, \ldots, x_{n-1} é definida como
\bar{x}=\frac{1}{n} \sum_{i=0}^{n-1} x_{i}.
Defina uma função media( x ) que receba uma lista de valores e devolva seu valor médio.
Por exemplo:
Teste Resultado
print (media ([-5,2]) ) -1.5

Passo 1

O enunciado pede para definirmos uma função chamada media que receba uma lista de valores e devolva o valor médio (média aritmética) desses valores. As informações importantes do enunciado são:
  • A definição matemática da média é \bar{x}=\frac{1}{n}\sum_{i=0}^{n-1} x_i.
  • A função deve receber uma lista (por exemplo, [-5,2]) e retornar um número (no exemplo, -1{,}5).
  • O enunciado mostra um teste: print(media([-5,2])) cujo resultado deve ser -1{,}5.

Passo 2

Entender exatamente o que a função precisa fazer e quais casos tratar:
  • Entrada: uma lista (posso chamar de x) com n elementos, isto é, x=[x_0,x_1,\dots,x_{n-1}].
  • Saída: o número \bar{x}=\dfrac{1}{n}\sum_{i=0}^{n-1} x_i.
  • Caso especial importante: se a lista estiver vazia (ou seja, n=0), a média está indefinida. Precisamos decidir como tratar isso. Aqui vou optar por levantar um erro (ValueError) para sinalizar que a média é indefinida em lista vazia — isso evita resultados enganadores (como retornar 0).

Passo 3

Explicar a fórmula e como transformá-la em um algoritmo simples:
  • A fórmula \bar{x}=\dfrac{1}{n}\sum_{i=0}^{n-1} x_i diz: some todos os elementos da lista e divida o resultado pelo número de elementos.
  • Em termos práticos:
    1. Calcular n, o comprimento da lista x. Em Python isso é obtido com len(x).
    2. Calcular a soma dos elementos: \sum_{i=0}^{n-1} x_i. Em Python isso pode ser obtido com sum(x).
    3. Dividir a soma por n: sum(x) / n. Em Python 3 essa divisão já retorna um float quando necessário.
  • Esses três passos são simples, rápidos e fáceis de aplicar numa prova ou num exercício de programação.

Passo 4

Implementação em Python (explicando linha a linha):
  • Linha 1: def media(x): — define a função chamada media que recebe um argumento x (esperamos que seja uma lista de números).
  • Linha 2–4: checagem de lista vazia:
    • Calculamos n = \text{len}(x) com n = len(x).
    • Se n == 0, levantamos ValueError("A lista está vazia; média indefinida") para indicar que não é possível calcular a média.
  • Linha 5: retornamos sum(x) / n, que implementa exatamente \dfrac{1}{n}\sum_{i=0}^{n-1} x_i.
  • Observação didática: usar sum e len é a forma mais direta e comum; se em algum contexto você não puder usar sum, basta fazer um laço for somando elemento a elemento — o resultado é o mesmo.

Passo 5

Exemplo numérico passo a passo com a lista do enunciado para confirmar:
  • Dada a lista x=[-5,2].
  • Primeiro: n = \text{len}(x) = 2.
  • Segundo: \sum x = -5 + 2 = -3.
  • Terceiro: \bar{x} = \dfrac{-3}{2} = -1{,}5.
  • Portanto media([-5,2]) deve retornar -1{,}5, que é exatamente o resultado esperado no enunciado.

Passo 6

Dica de uso e comportamento:
  • A função retorna um float quando necessário (por exemplo, -1{,}5).
  • Se a lista contiver só inteiros e a soma for divisível por n, o resultado pode ser um inteiro representado como float (ex.: [2,4] => 3.0).
  • Se preferir, você pode adaptar a função para retornar None em vez de levantar erro quando a lista for vazia, mas levantar erro é mais explícito e preferível em muitos contextos de prova/código.

Resposta

def media(x):
“”"
Retorna a média aritmética da lista x.
Levanta ValueError se a lista estiver vazia.
“”"
n = len(x)
if n == 0:
raise ValueError(“A lista está vazia; média indefinida”)
return sum(x) / n

Exercícios relacionados