#21 - Números mais Sorteados da Mega-Sena com Python 💰🐍
🌌 Projeto CodeVerse Python - #21/2025
👋 Fala Galera Dev!
Hoje vamos sair um pouco do óbvio e fazer um projeto diferente... Quem sabe até dá uma ajudinha naquela fezinha na Mega da Virada, né? 😄
Neste artigo, vamos criar um aplicativo em Python que simula diversos sorteios da Mega-Sena e mostra pra gente quais são os números que mais aparecem nesses jogos. É uma ideia divertida e ao mesmo tempo um ótimo exercício prático com Python — ideal pra quem tá começando e quer entender como trabalhar com listas, dicionários, laços de repetição e ordenação de dados.
__________________________________________________________________________________________________________________________________________________
🎲 Como funciona o jogo da Mega-Sena?
A Mega-Sena é um dos jogos mais populares do Brasil. Nele, são sorteados 6 números entre 1 e 60, e o jogador precisa acertar todos para ganhar o prêmio principal.
Nosso projeto vai simular esse sorteio milhares de vezes e depois mostrar quais números apareceram com mais frequência — uma estatística simples, mas que pode ser muito útil pra analisar padrões e também praticar programação! E nesse projeto é você que escolhe a quantidade de vezes que o loop de repetição irá executar. "Dependende apenas da sua máquina, pois pode travar a depender de quantos milhões de vezes voce vai querer executar" rs
___________________________________________________________________________________________________________________________________________________
💥O poder infinito entre os Multiversos do Python
Imagine que cada sorteio é como uma viagem pelo multiverso — cada universo paralelo com combinações diferentes de números. E quem comanda essas possibilidades é você através da biblioteca random, e não o Dr. Estranho, vamos ver como usar esse super poder aqui.
A random é uma biblioteca nativa do Python (ou seja, você não precisa instalar nada) e serve para gerar números aleatórios. No nosso caso, ela vai simular os sorteios como se fossem reais, de forma randômica, como o próprio nome diz.
Exemplo do Código na IDE Visual Studio Code
___________________________________________________________________________________________________________________________________________________
🎯 O Código Completo
Aqui está o código completo do nosso simulador, onde você, sim você escolhe a quantidade de vezes que ele sumulará os jogos de seis numeros da mega sena, fazendo diversos sorteiros consecutivos e armanzenando a quantidade de vezes que cada numero é sorteados, e ao final nos devolve os seis numeros mais sorteados com a quantidade de vezes que cada um apareceu nos sorteios:
import random
# Sorteia seis números em um jogo simples
def sorteio():
numerosSorteados = []
for i in range(6):
numero = random.randint(1, 60)
numerosSorteados.append(numero)
return numerosSorteados
# Solicita ao usuário a quantidade de sorteios
quantidadeJogosSorteados = int(
input("Informe quantas jogos devem ser feitos para a estatística...")
)
# Dicionário para Armazenar os numeros mais sorteados
contadorNumeros = {}
for i in range(quantidadeJogosSorteados):
jogoFeito = sorteio()
for numero in jogoFeito:
contadorNumeros[numero] = contadorNumeros.get(numero, 0) + 1
# Verifica os seis numeros mais sorteados
numerosMaisSorteados = sorted(contadorNumeros.items(), key=lambda x: x[1], reverse=True)
# Imprime os seis numeros mais sorteados
print("Os seis números mais sorteados foram:")
for i in range(6):
numero, contagem = numerosMaisSorteados[i]
print(f"{i+1}° Número: {numero} - Sorteado {contagem} vezes")
🧩 Explicando o Código, Bloco a Bloco
1. Importando a biblioteca
import random
A biblioteca random nos permite gerar números aleatórios — essencial para simular os sorteios da Mega-Sena.
2. Função sorteio()
def sorteio():
numerosSorteados = []
for i in range(6):
numero = random.randint(1, 60)
numerosSorteados.append(numero)
return numerosSorteados
Aqui, a função sorteia 6 números aleatórios entre 1 e 60 e retorna uma lista com esses números:
- Iniciamos uma função chamada sorteio na primeira linha;
- Na segunda linha criamos uma lista vazia chamada numerosSorteados
- Na terceira linha iniciamos um for para ser executado seis vezes, e dentro do for atribuimos a numero um numero randômico entre 1 e 60. Para logo depois atribuirmos a a lista numerosSorteados esse numero aleatório acima, sendo repetido por seis vezes.
3. Coletando o número de simulações
quantidadeJogosSorteados = int(input("Informe quantas jogos devem ser feitos..."))
O usuário informa quantas simulações (ou jogos) o programa deve fazer. Isso pode ser 100, 1.000, ou até 1 milhão se o PC aguentar! 💻🔥
4. Armazenando os números sorteados
contadorNumeros = {}
for i in range(quantidadeJogosSorteados):
jogoFeito = sorteio()
for numero in jogoFeito:
contadorNumeros[numero] = contadorNumeros.get(numero, 0) + 1
Usamos um dicionário para contar quantas vezes cada número foi sorteado. A função get() ajuda a evitar erros ao somar os valores, mesmo que ainda não existam no dicionário.
- Na primeira linha iniciamos um dicionário vazio chamado contadorNumeros, que vai armazenar quantas vezes cada número foi sorteado ao longo dos jogos simulados.
- Na segunda linha criamos um laço for que será repetido conforme o valor informado pelo usuário na variável quantidadeJogosSorteados. A cada repetição, é como se estivéssemos fazendo um novo jogo da Mega-Sena com 6 números sorteados.
- Na terceira chamamos a função sorteio() que criamos antes, e ela nos retorna uma lista com 6 números aleatórios entre 1 e 60. Esses números ficam armazenados na variável jogoFeito.
- Logo após criamos um laço for, dessa vez para percorrer cada número individualmente dentro do jogo que acabou de ser sorteado.
- Para contar quantas vezes cada número apareceu, usamos a função .get() do dicionário. Se o número já existe no dicionário, o .get() retorna o valor atual (quantas vezes ele já foi sorteado) e soma 1. Se o número ainda não existe, o .get(numero, 0) retorna 0, e assim ele começa a contagem do zero, somando +1 na sequência. Dessa forma, evitamos erros de chave inexistente e mantemos o código mais limpo e funcional.
5. Ordenando os números mais sorteados (a parte chave!)
numerosMaisSorteados = sorted(contadorNumeros.items(), key=lambda x: x[1], reverse=True)
🧠 Bora entender essa linha por partes:
- contadorNumeros.items() devolve uma lista de tuplas, como:
[(23, 5), (12, 7), (48, 3), ...]
- key=lambda x: x[1] é uma função anônima (lambda) que diz para o sorted ordenar com base no segundo item da tupla — ou seja, a quantidade de vezes que o número foi sorteado.
- reverse=True garante que a ordenação seja do maior para o menor, então os números mais sorteados vêm primeiro.
Essa é uma técnica muito poderosa em Python, usada para ordenar listas complexas com base em critérios específicos. Aprender a usar lambda com sorted é um passo importante para evoluir como dev.
6. Imprimindo o resultado
for i in range(6):
numero, contagem = numerosMaisSorteados[i]
print(f"{i+1}° Número: {numero} - Sorteado {contagem} vezes")
Aqui exibimos os 6 números mais sorteados, junto da quantidade de vezes que cada um apareceu.
___________________________________________________________________________________________________________________________________________________
🎓 Conclusão
Neste artigo, vimos um o código de forma prática e divertida usando Python: simulamos sorteios da Mega-Sena e identificamos os números mais frequentemente sorteados. Apesar de ser um projeto leve, ele nos permitiu aprender conceitos fundamentais que são muito úteis no dia a dia de quem está começando a programar.
No próximo artigo da série CodeVerse, vamos mergulhar em um tema muito importante: Programação Orientada a Objetos (POO) com Python. Vamos aprender o que são classes, objetos, atributos, métodos, herança, encapsulamento e muito mais — tudo de forma bem didática, com exemplos práticos e fáceis de entender.
Se você está dando os primeiros passos na programação, dominar POO vai abrir um novo mundo de possibilidades para organizar melhor seus projetos e pensar como um verdadeiro desenvolvedor profissional.
Gostou do artigo? Então:
🔗 Me acompanhe no LinkedIn para ver mais dicas, projetos e artigos sobre programação e tecnologia!
📂 Confira também o repositório oficial do projeto CodeVerse no meu GitHub — lá você encontra esse e outros códigos comentados, com atualizações constantes!
👨💻 Se quiser contribuir ou tirar dúvidas, fique à vontade para abrir uma issue ou me chamar por mensagem. Vamos crescer juntos na jornada dev!