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

Insira Comentário