import random


def gerar_numeros(qtd_numeros, inicio, fim):

    numeros = set()

    while len(numeros) < qtd_numeros:

        numeros.add(random.randint(inicio, fim))

    return sorted(numeros)


def realizar_rifa(participantes, qtd_numeros, inicio, fim):

    numeros_ganhadores = gerar_numeros(qtd_numeros, inicio, fim)

    ganhadores = []

    for participante in participantes:

        numeros_participante = gerar_numeros(qtd_numeros, inicio, fim)

        acertos = set(numeros_participante).intersection(numeros_ganhadores)

        if acertos:

            ganhadores.append((participante, acertos))

    return numeros_ganhadores, ganhadores


Comentários