Pular para o conteúdo
Bruno Dórea
Todos os posts

3 mins de leitura


Cálculo de Moda

Desafios de Código Python Intermediários II - Data Analytics - 2/2


Sysvision - Data Analytics com Power BI
Sysvision - Data Analytics com Power BI

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.

EntradaSaída
1, 2, 2, 3, 3, 4, 4, 44
10, 20, 20, 30, 30, 3030
5, 5, 2, 2, 3, 2, 12

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.