MaarquinhoO Posted January 3 Share Posted January 3 Olá pessoal! Estou tentando criar um programa para me ajudar na realização de rifas através do sorteio da loteria federal, porém sou novo na programação e estou com dificuldades. Esse primeiro programa deve realizar o sorteio da quantidade de números que cada pessoas quiser, porém precisa verificar se os números ainda estão disponíveis. Não estou sabendo implementar essa verificação (na verdade vão percerber que to apanhando para implementar tudo. Rs) O programa está recebendo dados dos compradores (nome, telefone e número de cotas), está realizando o sorteio e armazendando em dois arquivos: 1 - "já_sorteados" - Os números que já foram sorteados 2 - "Rifa" - Dados dos compradores Porém ele está repetindo números do sorteio. Se algué puder me ajudar, agradeço. Segue implementação: import random # Contar número de linhas def contar_linhas(): with open("ja_sorteados_AirDots2.txt", "r") as a: num_linhas = 0 for linhas in a: num_linhas = num_linhas + 1 return num_linhas # Carregar lista de números já sorteados def carregar_sorteados(x): with open("ja_sorteados_AirDots2.txt", "r") as a: num_ja_sorteados = [] for i in range(x): num = a.readline() num = num[:-1] num_ja_sorteados.append(num) return num_ja_sorteados # Função para facilitar chamar os já sorteados def ja_sorteados(): return carregar_sorteados(contar_linhas()) def sorteio(num_cotas): # Sortear número aleatoriamente de 0 a 1000 sorteados =[] limitador = 0 print() print("\nOs números que já haviam sido sorteados eram:", ja_sorteados()) print() while limitador < num_cotas: numero = random.randint(0,999) numero = str(numero) verificar(numero, ja_sorteados()) if True: sorteados.append(numero) with open("ja_sorteados_AirDots2.txt", "a") as arquivo: arquivo.write(numero + "\n") limitador = limitador + 1 if False: limitador = limitador print() print("Os número sorteados agora são:", sorteados) print() print("Todos os números sorteados agora são:", ja_sorteados()) print() return sorteados # Função para verificar se o número já foi sorteado def verificar(numero, num_ja_sorteados): for i in num_ja_sorteados: if numero not in num_ja_sorteados: return True else: return False # Função para incluir os compradores def inserir_compradores(): dados = [] print() nome = input("Insira o nome do comprador: ") print() tel = input("Insira o telefone: ") print() num_cotas = int(input("Insira a quantidade de cotas compradas: ")) print() numeros_possuidos = sorteio(num_cotas) dados.append(nome) dados.append(tel) dados.append(num_cotas) dados.append(numeros_possuidos) with open("Compras_AirDots2.txt", "a") as arquivo: arquivo.write(str(dados) + "\n") print() print(dados) print() #Função main def main(): inserir_compradores() Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now