Gerando números aleatórios por quadrante na Mega Sena em Python

Desde a versão 2.9 do Joga Loterias Profissional, o sistema possui o interpretador da linguagem Python embutida em seu sistema.

Tendo em vista poucas semanas para o tal aguardado sorteio da Mega da Virada, iremos fazer um jogo aleatório por quadrante, utilizando os conceitos da linguagem Python.

Como funciona?

Iremos dividir o cartão da Mega Sena em quatro partes iguais de 15 números cada, totalizando assim as 60 dezenas, conforme a figura abaixo.

Para cada quadrante, vamos sortear duas dezenas em cada.

O total gerado vai ser de 8 dezenas ao todo. Para o jogo mínimo de 6 dezenas em cada cartão da Mega Sena, iremos fazer o sistema definir 6 dezenas das 8 ao todo, sendo sempre eliminadas duas em cada geração.

Script Python

Abre o interpretador de Python e copie o código abaixo ou faça o download do script se desejar.

import random
from jlp import utils

# Divisão dos quadrantes. Para cada quadrante vai sortear 2 dezenas
QUADRANTE_1 = [1, 2, 3, 4, 5, 11, 12, 13, 14, 15, 21, 22, 23, 24, 25]
QUADRANTE_2 = [6, 7, 8, 9, 10, 16, 17, 18, 19, 20, 26, 27, 28, 29, 30]
QUADRANTE_3 = [31, 32, 33, 34, 35, 41, 42, 43, 44, 45, 51, 52, 53, 54, 55]
QUADRANTE_4 = [36, 37, 38, 39, 40, 46, 47, 48, 49, 50, 56, 57, 58, 59, 60]

# Informa o total de jogos desejados
TOTAL_JOGOS = 100

def gerar_dezenas():
    dezenas = []
    
    sorteio = random.sample(set(QUADRANTE_1), 2)
    for numero in sorteio:
        dezenas.append(numero)

    sorteio = random.sample(set(QUADRANTE_2), 2)
    for numero in sorteio:
        dezenas.append(numero)

    sorteio = random.sample(set(QUADRANTE_3), 2)
    for numero in sorteio:
        dezenas.append(numero)

    sorteio = random.sample(set(QUADRANTE_4), 2)
    for numero in sorteio:
        dezenas.append(numero)

    # Como tem 8 dezenas, o sistema vai gerar apenas 6
    dezenas = random.sample(set(dezenas), 6)
    dezenas = sorted(dezenas)
    dezenas = utils.formatar_dezenas(dezenas)
    
    return ' ' .join(dezenas)
    
    
meus_jogos = []

# Adiciona os jogos gerados
for x in range(0, TOTAL_JOGOS):
    meus_jogos.append(gerar_dezenas())
    
# Removendo os jogos repetidos, caso exista
meus_jogos = list(dict.fromkeys(meus_jogos))

# Lista os jogos gerados
for jogo in meus_jogos:
    print(jogo)

Inicialmente iniciamos a constante de cada quadrante QUADRANTE_X, indicando as suas respectivas dezenas.

A outra constante TOTAL_JOGOS indica quantos jogos desejamos gerar.

Logo abaixo temos a função principal gerar_dezenas(), que irá gerar os números de acordo com os quadrantes. Em tese resumida, faremos o sorteio de cada quadrante usando a funcão de random.

Como teremos 8 dezenas no final de cada processo, no final do processo eu mando o sistema escolher 6 das 8 dezenas, para assim completar uma cartela de jogo simples.

No final faremos a verificação para ver se algum jogo repetiu, realizando assim a sua exclusão. Então pode ser que a quantidade definida de jogos não seja obedecida, caso tenha jogos repetidos.

Ao compilar o script, irá aparecer uma tela com os jogos das dezenas já geradas.


Download Script .jlpy

Compartilhar este post

Um pensamento em “Gerando números aleatórios por quadrante na Mega Sena em Python

Insira Comentário