Advertisement
LightProgrammer000

MegaSena (sorteios)

Mar 8th, 2025
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.48 KB | None | 0 0
  1. # Mega Sena
  2.  
  3. # Bibliotecas
  4. from colorama import Fore   # Colorir a saída no terminal
  5. from random import randint  # Gerar números aleatórios
  6. from time import sleep      # Criar uma pausa durante o sorteio
  7.  
  8. # Função de sorteio da Mega Sena
  9. def sorteio_mega_sena(cartela, loop):
  10.  
  11.     ganhou = 0          # Contador de vitórias
  12.     num_sorteio = []    # Lista dos sorteios ganhos
  13.  
  14.     for z in range(0, loop):
  15.  
  16.         cont = 0            # Contador de acertos
  17.         acertos = []        # Lista de acertos
  18.         maquina = set()     # Conjunto para números sorteados únicos
  19.         var = "MegaSena"    # Nome da loteria para exibição
  20.  
  21.         # Exibe cartela do jogador
  22.         print(f"\n\n{Fore.GREEN}# {'=-=' * 20} SORTEIO {z+1} {'=-=' * 20} {Fore.RESET}", end=" ")
  23.         print(f"\n{Fore.LIGHTYELLOW_EX}# Palpites: {Fore.RESET}", end=" ")
  24.         print(*cartela, end=" ")
  25.  
  26.         # Sorteia 6 números únicos para a máquina
  27.         while len(maquina) < 6:
  28.  
  29.             # Sorteia números de 1 a 10
  30.             maquina.add(randint(1, 10))
  31.  
  32.         # Exibe sorteio
  33.         print(f"\n{Fore.BLUE}# Sorteando... {Fore.RESET}", end=" ")
  34.         print(*var, end=" ")
  35.  
  36.         # Exibe números sorteados pela máquina
  37.         print(f"\n{Fore.LIGHTYELLOW_EX}# Números sorteados: {Fore.RESET}", end=" ")
  38.         print(*sorted(maquina), end=" ")
  39.  
  40.         # Verifica acertos
  41.         for i in cartela:
  42.             if i in maquina:
  43.                 cont += 1
  44.                 acertos.append(i)
  45.  
  46.         # Exibe resultado
  47.         if cont == 6:
  48.             print(f"\n\n{Fore.LIGHTCYAN_EX}# GANHOU! {Fore.RESET}")
  49.             ganhou += 1
  50.             num_sorteio.append(z + 1)
  51.  
  52.         else:
  53.             print(f"\n\n{Fore.RED}# Perdeu! Acertou {cont}: {Fore.RESET} {' / '.join(map(str, acertos))}")
  54.  
  55.         print(f"\n{Fore.GREEN}# {'=-=' * 20} {'=-=' * 20} {Fore.RESET}", end=" ")
  56.  
  57.     # Exibe total de vitórias
  58.     print(f"\n\n{Fore.LIGHTCYAN_EX}# GANHOU: {ganhou} {Fore.RESET}")
  59.     print(f"{Fore.LIGHTCYAN_EX}# Números dos sorteios ganhos: {Fore.RESET} {' '.join(map(str, num_sorteio))}")
  60.  
  61. # Função para montar a cartela
  62. def montagem_cartela():
  63.  
  64.     cartela = []
  65.     print(f"\n{Fore.LIGHTGREEN_EX}# Escolha 6 números de 1 a 60 {Fore.RESET}")
  66.  
  67.     while len(cartela) < 6:
  68.        
  69.         try:
  70.             num = int(input(f"# Número {len(cartela) + 1}: "))
  71.             if 1 <= num <= 60 and num not in cartela:
  72.                 cartela.append(num)
  73.             else:
  74.                 print(f"{Fore.RED}# Número inválido ou já incluído!{Fore.RESET}")
  75.  
  76.         except ValueError:
  77.             print(f"{Fore.RED}# Entrada inválida! Digite um número inteiro.{Fore.RESET}")
  78.  
  79.     return cartela
  80.  
  81. # Função do menu
  82. def menu():
  83.  
  84.     try:
  85.         print(f"{Fore.LIGHTYELLOW_EX}{'=-=' * 10} MENU (MegaSena) {'=-=' * 10} {Fore.RESET}")
  86.         print(f"{Fore.LIGHTMAGENTA_EX}# [1] Sorteio de 1 vez {Fore.RESET}")
  87.         print(f"{Fore.CYAN}# [2] Jogar 1000 vezes {Fore.RESET}")
  88.         opc = int(input("# Opc.: "))
  89.  
  90.         if opc == 1:
  91.             sorteio_mega_sena(montagem_cartela(), 1)
  92.  
  93.         elif opc == 2:
  94.             sorteio_mega_sena(montagem_cartela(), 1000)
  95.  
  96.         else:
  97.             print(f"{Fore.RED}# Opção inválida!{Fore.RESET}")
  98.  
  99.     except ValueError:
  100.         print(f"{Fore.RED}# Entrada inválida! Digite um número inteiro.{Fore.RESET}")
  101.  
  102. # Função principal
  103. def main():
  104.     menu()
  105.  
  106. # Execução
  107. if __name__ == '__main__':
  108.     main()
  109.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement