import random

def generar_carton(jugador):
    carton = [[0] * 5 for _ in range(5)]
    letras = ['B', 'I', 'N', 'G', 'O']
    numeros_por_letra = {'B': list(range(1, 16)),
                         'I': list(range(16, 31)),
                         'N': list(range(31, 46)),
                         'G': list(range(46, 61)),
                         'O': list(range(61, 76))}

    for letra in letras:
        numeros_disponibles = numeros_por_letra[letra]
        random.shuffle(numeros_disponibles)

        for i in range(5):
            if letra == 'N' and i == 2:
                carton[i][2] = '*'
            else:
                carton[i][letras.index(letra)] = numeros_disponibles.pop()

    return {'jugador': jugador, 'carton': carton}

def imprimir_carton(carton):
    print(f"Cartón de {carton['jugador']}:")
    for fila in carton['carton']:
        print("\t".join(map(str, fila)))

def verificar_ganador(carton, forma):
    if forma == 'L':
        return carton[0][0] and carton[1][0] and carton[2][0] and carton[3][0] and carton[4][0] and carton[4][1] and carton[4][2] and carton[4][3] and carton[4][4]
    # Otras formas de ganar aquí (T, C, B, I, N, G, O)
    # ...

def jugar(jugadores):
    formas_ganar = ['L', 'T', 'C', 'B', 'I', 'N', 'G', 'O']

    print("Empieza el juego")
    
    forma_ganar = input("Seleccione la forma de ganar (L, T, C, B, I, N, G, O) o 'R' para regresar: ").upper()

    if forma_ganar == 'R':
        return

    while forma_ganar not in formas_ganar:
        print("Forma no válida. Inténtelo de nuevo.")
        forma_ganar = input("Seleccione la forma de ganar (L, T, C, B, I, N, G, O) o 'R' para regresar: ").upper()

    numeros_usados = set()

    while True:
        numero = random.randint(1, 75)

        if numero not in numeros_usados:
            print(f"Número sorteado: {numero}")
            numeros_usados.add(numero)

            for jugador, carton in jugadores.items():
                imprimir_carton(carton)

                if verificar_ganador(carton['carton'], forma_ganar):
                    print(f"Gano el jugador: {jugador}")
                    return

    return

def main():
    jugadores = {}

    while True:
        print("\nMenú de opciones:")
        print("1. Configurar el juego")
        print("2. Jugar")
        print("0. Salir")

        opcion = input("Seleccione una opción: ")

        if opcion == '1':
            num_jugadores = int(input("Ingrese el número de jugadores: "))
            for _ in range(num_jugadores):
                nombre_jugador = input("Ingrese el nombre del jugador: ")
                jugadores[nombre_jugador] = generar_carton(nombre_jugador)
            print("Configuración del juego completada.")
        elif opcion == '2':
            jugar(jugadores)
        elif opcion == '0':
            print("Juego finalizado.")
            break
        else:
            print("Opción no válida. Inténtelo de nuevo.")

if __name__ == "__main__":
    main()

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: