Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Mega Sena
- # Bibliotecas
- from colorama import Fore # Colorir a saída no terminal
- from random import randint # Gerar números aleatórios
- from time import sleep # Criar uma pausa durante o sorteio
- # Função de sorteio da Mega Sena
- def sorteio_mega_sena(cartela, loop):
- ganhou = 0 # Contador de vitórias
- num_sorteio = [] # Lista dos sorteios ganhos
- for z in range(0, loop):
- cont = 0 # Contador de acertos
- acertos = [] # Lista de acertos
- maquina = set() # Conjunto para números sorteados únicos
- var = "MegaSena" # Nome da loteria para exibição
- # Exibe cartela do jogador
- print(f"\n\n{Fore.GREEN}# {'=-=' * 20} SORTEIO {z+1} {'=-=' * 20} {Fore.RESET}", end=" ")
- print(f"\n{Fore.LIGHTYELLOW_EX}# Palpites: {Fore.RESET}", end=" ")
- print(*cartela, end=" ")
- # Sorteia 6 números únicos para a máquina
- while len(maquina) < 6:
- # Sorteia números de 1 a 10
- maquina.add(randint(1, 10))
- # Exibe sorteio
- print(f"\n{Fore.BLUE}# Sorteando... {Fore.RESET}", end=" ")
- print(*var, end=" ")
- # Exibe números sorteados pela máquina
- print(f"\n{Fore.LIGHTYELLOW_EX}# Números sorteados: {Fore.RESET}", end=" ")
- print(*sorted(maquina), end=" ")
- # Verifica acertos
- for i in cartela:
- if i in maquina:
- cont += 1
- acertos.append(i)
- # Exibe resultado
- if cont == 6:
- print(f"\n\n{Fore.LIGHTCYAN_EX}# GANHOU! {Fore.RESET}")
- ganhou += 1
- num_sorteio.append(z + 1)
- else:
- print(f"\n\n{Fore.RED}# Perdeu! Acertou {cont}: {Fore.RESET} {' / '.join(map(str, acertos))}")
- print(f"\n{Fore.GREEN}# {'=-=' * 20} {'=-=' * 20} {Fore.RESET}", end=" ")
- # Exibe total de vitórias
- print(f"\n\n{Fore.LIGHTCYAN_EX}# GANHOU: {ganhou} {Fore.RESET}")
- print(f"{Fore.LIGHTCYAN_EX}# Números dos sorteios ganhos: {Fore.RESET} {' '.join(map(str, num_sorteio))}")
- # Função para montar a cartela
- def montagem_cartela():
- cartela = []
- print(f"\n{Fore.LIGHTGREEN_EX}# Escolha 6 números de 1 a 60 {Fore.RESET}")
- while len(cartela) < 6:
- try:
- num = int(input(f"# Número {len(cartela) + 1}: "))
- if 1 <= num <= 60 and num not in cartela:
- cartela.append(num)
- else:
- print(f"{Fore.RED}# Número inválido ou já incluído!{Fore.RESET}")
- except ValueError:
- print(f"{Fore.RED}# Entrada inválida! Digite um número inteiro.{Fore.RESET}")
- return cartela
- # Função do menu
- def menu():
- try:
- print(f"{Fore.LIGHTYELLOW_EX}{'=-=' * 10} MENU (MegaSena) {'=-=' * 10} {Fore.RESET}")
- print(f"{Fore.LIGHTMAGENTA_EX}# [1] Sorteio de 1 vez {Fore.RESET}")
- print(f"{Fore.CYAN}# [2] Jogar 1000 vezes {Fore.RESET}")
- opc = int(input("# Opc.: "))
- if opc == 1:
- sorteio_mega_sena(montagem_cartela(), 1)
- elif opc == 2:
- sorteio_mega_sena(montagem_cartela(), 1000)
- else:
- print(f"{Fore.RED}# Opção inválida!{Fore.RESET}")
- except ValueError:
- print(f"{Fore.RED}# Entrada inválida! Digite um número inteiro.{Fore.RESET}")
- # Função principal
- def main():
- menu()
- # Execução
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement