Cálculo de Moda
Desafios de Código Python Intermediários II - Data Analytics - 2/2
Descrição
A moda é a medida de tendência central que representa o valor mais frequente em um conjunto de dados. Em análise de dados, calcular a moda pode ajudar a identificar padrões e tendências.
Entrada
Uma lista de números (por exemplo: 1, 2, 2, 3, 3, 4, 4, 4).
Saída
Um número representando a moda ou uma lista de números se houver empate (por exemplo: 4 ou [2, 3, 4] em caso de empate). O que fazer: Contar a frequência de cada número e identificar o(s) número(s) com maior frequência.
Exemplos
A tabela abaixo apresenta exemplos com alguns dados de entrada e suas respectivas saídas esperadas. Certifique-se de testar seu programa com esses exemplos e com outros casos possíveis.
Entrada | Saída |
---|---|
1, 2, 2, 3, 3, 4, 4, 4 | 4 |
10, 20, 20, 30, 30, 30 | 30 |
5, 5, 2, 2, 3, 2, 1 | 2 |
Resolução
# Entrada do usuário e conversão para lista de números
lista_numeros = list(map(int, input().split(",")))
def calcular_moda(lista):
# Conta a frequência de cada número na lista
contador = {}
for num in lista:
contador[num] = contador.get(num, 0) + 1
# Encontra a frequência máxima
max_frequencia = max(contador.values())
# TODO: Encontre todos os números que têm a frequência máxima
moda = [num for num, freq in contador.items() if freq == max_frequencia]
# Se houver mais de uma moda, retorna a lista de modas
# Caso contrário, retorna a única moda
return moda if len(moda) > 1 else moda[0]
# Calcula e imprime a moda
print(calcular_moda(lista_numeros))
Para encontrar outras soluções, verifique aqui.
Caso encontre algum erro ou tenha sugestões, clique aqui e abra uma issue no Github.