Código de Python - Simular el Juego del Bingo

Imágen de perfil
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Simular el Juego del Bingográfica de visualizaciones


Python

Publicado el 17 de Abril del 2020 por Joel (150 códigos)
4.420 visualizaciones desde el 17 de Abril del 2020
Este código muestra como generar un cartón de bingo de 16 números (4x4) y muestra como el sistema va sacando bolas del bombo y va marcando con una cruz cada uno de los números de tu cartón.
Una vez esta lleno tu cartón, te muestra el cartón inicial y los números que han salido del bombo hasta completarlo.
También indica la primera vez que se ha realizado una linea en horizontal.

bingo

Versión 1

Publicado el 17 de Abril del 2020gráfica de visualizaciones de la versión: Versión 1
4.421 visualizaciones desde el 17 de Abril del 2020
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
import random
import time
 
class bingo:
    _carton=[]
    _numerosRestantes=16
    _numerosBombo=[]
    _numerosSalido=[]
    _linea=False
 
    def __init__(self):
        self._carton=list(map(lambda x: str(x), random.sample(range(1, 100), 16)))
        self._origin=self._carton.copy()
        print (self._origin)
        self._numerosBombo=[i for i in range(1, 100)]
 
    def showCarton(self, origin=False):
        """
        Metodo que muestra el carton
        Si recibe origin=True, muestra el carton inicial
        """
        carton=self._origin if origin else self._carton
 
        for i in range(0, len(carton), 4):
            print(carton[i:i+4])
 
    def getNumeroBombo(self):
        """
        Metodo que devuelve un numero del bombo
        """
        numeroPos=random.randint(0, len(self._numerosBombo)-1)
        numero=self._numerosBombo[numeroPos]
        del self._numerosBombo[numeroPos]
 
        self._numerosSalido.append(numero)
        return numero
 
    def marcarNumero(self, numeroMarcar):
        """
        Metodo que busca si el numero esta en nuestro carton
        Devuelve True si el numero esta en nuestro carton
        """
        if numeroMarcar in self._carton:
            self._carton[self._carton.index(numeroMarcar)]="X"
            self._numerosRestantes-=1
            return True
        return False
 
    def isLinea(self):
        """
        Metodo que comprueba si tenemos una linea horizontal cubierta
        """
        if self._linea==False and list(filter(lambda x: "".join(x)=="XXXX" ,[self._carton[i:i+4] for i in range(0, len(self._carton), 4)])):
            self._linea=True
            return True
        return False
 
    def getNumerosSalido(self):
        """
        Metodo que devuelve los numeros que han salido en el bombo
        """
        return self._numerosSalido
 
    def getNumerosRestantes(self):
        """
        Metodo que devuelve la cantidad de numeros restantes para llenar nuestro carton
        """
        return self._numerosRestantes
 
bingo=bingo()
print("Este es tu carton!!!")
bingo.showCarton()
 
while bingo.getNumerosRestantes()>0:
    numeroBombo=str(bingo.getNumeroBombo())
    if bingo.marcarNumero(numeroBombo):
        print("---------------------------------------------")
        print("Tienes el numero:", numeroBombo, "/", len(bingo.getNumerosSalido()), ", te quedan:", bingo.getNumerosRestantes())
        bingo.showCarton()
        if bingo.isLinea():
            print("\n\n   ##### LINEA #####\n\n")
    else:
        print("han salido el numero:", numeroBombo, "/", len(bingo.getNumerosSalido()), ", te quedan:", bingo.getNumerosRestantes())
 
    time.sleep(0.5)
 
print("\n\n\n   ##### BINGO #####\n")
print("Este es tu carton inicial")
bingo.showCarton(True)
print("\nEstos son los", len(bingo.getNumerosSalido()), "numeros que han salido hasta completar el carton:", bingo.getNumerosSalido())



Comentarios sobre la versión: Versión 1 (0)


No hay comentarios
 

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s6136