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.