A média de
valores,
é definida como
.
Defina uma função media( x ) que receba uma lista de valores e devolva seu valor médio.
Por exemplo:
Teste
Resultado
print (media
)
-1.5
Defina uma função media( x ) que receba uma lista de valores e devolva seu valor médio.
| Teste | Resultado |
| print (media
|
-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 é
. - A função deve receber uma lista (por exemplo,
) e retornar um número (no exemplo, ). - O enunciado mostra um teste:
print(media([-5,2]))cujo resultado deve ser.
Passo 2
Entender exatamente o que a função precisa fazer e quais casos tratar:
- Entrada: uma lista (posso chamar de
) com elementos, isto é, . - Saída: o número
. - Caso especial importante: se a lista estiver vazia (ou seja,
), 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
diz: some todos os elementos da lista e divida o resultado pelo número de elementos. - Em termos práticos:
- Calcular
, o comprimento da lista . Em Python isso é obtido com len(x). - Calcular a soma dos elementos:
. Em Python isso pode ser obtido com sum(x). - Dividir a soma por
: sum(x) / n. Em Python 3 essa divisão já retorna umfloatquando necessário.
- Calcular
- 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 chamadamediaque recebe um argumentox(esperamos que seja uma lista de números). - Linha 2–4: checagem de lista vazia:
- Calculamos
com n = len(x). - Se
n == 0, levantamosValueError("A lista está vazia; média indefinida")para indicar que não é possível calcular a média.
- Calculamos
- Linha 5: retornamos
sum(x) / n, que implementa exatamente. - Observação didática: usar
sumelené a forma mais direta e comum; se em algum contexto você não puder usarsum, basta fazer um laçoforsomando 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
. - Primeiro:
. - Segundo:
. - Terceiro:
. - Portanto
media([-5,2])deve retornar, que é exatamente o resultado esperado no enunciado.
Passo 6
Dica de uso e comportamento:
- A função retorna um
floatquando necessário (por exemplo,). - Se a lista contiver só inteiros e a soma for divisível por
, o resultado pode ser um inteiro representado como float(ex.:=> 3.0). - Se preferir, você pode adaptar a função para retornar
Noneem 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
“”"
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