Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- from requests import get
- from pandas import DataFrame as pd
- from random import choices
- from tqdm import tqdm
- import urllib3
- urllib3.disable_warnings()
- BASE_URL = 'https://servicebus2.caixa.gov.br/portaldeloterias/api/megasena/'
- HEADERS = {"Content-Type": "application/json"}
- def fetch_data(url):
- response = get(url, headers=HEADERS, verify=False)
- return response.json()
- def get_sorted_numbers(concurso):
- link = f'{BASE_URL}{concurso}'
- resposta = fetch_data(link)
- return sorted(resposta['dezenasSorteadasOrdemSorteio'])
- def generate_palpites(base, qtd):
- palpites = set()
- while len(palpites) < qtd:
- palpite = tuple(sorted(choices(base, k=6)))
- palpites.add(palpite)
- return list(palpites)
- def print_results(conc_final, base, concurso_data, palpites, totalsorteado):
- index = list(range(1, len(concurso_data) + 1))
- df_concurso = pd({'Concurso': concurso_data, 'Numeros Sorteados': sorteados}, index=index)
- print("\nTOTAL DE NUMEROS A SER ANALISADOS:", len(base))
- print("\nBASE UTILIZADA:", sorted(base))
- print("\nCONCURSOS ANALISADOS:\n", df_concurso)
- print("\nPALPITES GERADOS:")
- for palpite in palpites:
- print(palpite)
- print("\nQuantidade de Palpites Gerados:", len(palpites))
- print("\nPALPITES JÁ SORTEADOS:")
- for palpite_sorteado in totalsorteado:
- print('Palpite já sorteado', palpite_sorteado)
- print("\nTOTAL DE PALPITES JÁ SORTEADOS:", len(totalsorteado))
- save_results_to_file(conc_final, palpites)
- def save_results_to_file(conc_final, palpites):
- with open('resultados.txt', 'w') as arquivo:
- arquivo.write(f"Proximo concurso = {conc_final}\n\n")
- arquivo.write('***** PALPITES GERADOS *****\n')
- for linha in palpites:
- arquivo.write(str(linha))
- arquivo.write('\n')
- def main():
- conc_final = fetch_data(BASE_URL)['numeroConcursoProximo']
- print("Proximo concurso =", conc_final)
- print(100 * ' ')
- qtdAnalise = int(input('Informe a quantidade de Concurso a Analisar: '))
- qtdPalpite = int(input('Informe a quantidade de Palpites a Gerar: '))
- print(100 * ' ')
- print("Analisando Concurso")
- sorteados = [get_sorted_numbers(i) for i in tqdm(range(conc_final - qtdAnalise, conc_final))]
- base = sorted(set(number for sublist in sorteados for number in sublist))
- concurso_data = list(range(conc_final - qtdAnalise, conc_final))
- print(100 * ' ')
- print("Gerando Palpite")
- palpites = generate_palpites(base, qtdPalpite)
- totalsorteado = [palpite for palpite in palpites if palpite in sorteados]
- print_results(conc_final, base, concurso_data, palpites, totalsorteado)
- if __name__ == "__main__":
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement