Exemple #1
0
 def inicial(self,a0):
     cond = (a0>=1 and a0<=self._resto)
     mensaje = "'inicial' debe ser mayor que 1 y menor que el resto(%d)"%(self._resto,)
     valida(cond,a0,mensaje)
     self._inicial = a0
     self._novamas.inicial = a0
     self._inicializa()
Exemple #2
0
 def maximo_de_la_ruleta(self, x):
     if x is not None:
         mnm = self._limites["ruleta"][_minimo_]
         mxm = max(self._limites[k][_maximo_] for k in self._limites if k != "ruleta")
         cond = x >= mnm and x >= mxm
         mensaje = "El máximo de la ruleta debe ser mayor o igual que el mínimo de ruleta y\nmayor o igual que el mayor de los máximos de las apuestas unitarias."
         valida(cond, x, mensaje)
     self._limites["ruleta"][_maximo_] = x
Exemple #3
0
 def minimo_de_la_ruleta(self, x):
     if x is not None:
         mxm = self._limites["ruleta"][_maximo_]
         cond = 0 < x <= mxm
         mensaje = (
             "El mínimo de la ruleta debe ser mayor o igual que cero y\nmenor o igual que el máximo de la ruleta."
         )
         valida(cond, x, mensaje)
     self._limites["ruleta"][_minimo_] = x
Exemple #4
0
 def __setitem__(self, k, v):
     keys = set(apuestas_unitarias)
     cond = k in keys
     mensaje = "La clave debe de estar en el conjunto: " + repr(keys)
     valida(cond, k, mensaje)
     minimo, maximo = v
     mnm, mxm = self._limites["ruleta"]
     cond = 0 < minimo <= maximo <= mxm and minimo <= mnm
     mensaje = "Se debe cumplir 0 < mínimo <= máximo <= máximo de la ruleta y\nmínimo <= mínimo de la ruleta."
     valida(cond, v, mensaje)
     self._limites[k] = v
Exemple #5
0
    def __init__(self, tipo="europea", limites=None):

        cond = tipo in ruletas
        mensaje = "Sólo hay tres tipos de ruleta: {0}, {1} y {2}".format(*ruletas.keys())
        valida(cond, tipo, mensaje)
        self._tipo = tipo

        R = ruletas[tipo]
        self._limites = R["limites"]

        keys = set(["ruleta"]) | set(apuestas_unitarias)
        cond = limites is None or set(limites) <= keys
        mensaje = "'limites' debe ser 'None' o un diccionario con claves en {0}".format(repr(keys))
        valida(cond, limites, mensaje)

        if limites is not None:
            Rmax = limites["ruleta"][_maximo_]
            cond = all(0 < x[_minimo_] <= x[_maximo_] <= Rmax for x in limites.values())
            mensaje = "Se debe cumplir 0 < mínimo <= máximo <= máximo de la ruleta"
            valida(cond, limites, mensaje)
            for k, v in limites.items():
                self._limites[k] = v

        self._zeros = R["zeros"]
        self._pagoalcero = R["pagoalcero"]
Exemple #6
0
    def __init__(self,
        ruleta  = 'europea',
        apuesta = 18,
        inicial = 1,
        funcion = ('apuesta','constante'),
        param   = None,
        resto   = 100
    ):

        self._apuesta = Apuesta(ruleta=ruleta,multiplicidad=apuesta)

        cond = (resto >= 1)
        mensaje = "El resto debe ser mayor que 1"
        valida(cond,resto,mensaje)
        self._resto = resto

        cond = (inicial >= 1 and inicial <= self._resto)
        mensaje = "'inicial' debe ser mayor o igual que 1 y menor o igual que el resto(%d)"%(self._resto,)
        valida(cond,inicial,mensaje)
        self._inicial = inicial

        self._param = param

        cond = (funcion in NoVaMas.funciones)
        mensaje = "'funcion' debe ser una de "+repr(NoVaMas.funciones.keys())
        valida(cond,funcion,mensaje)
        self._funcion = funcion

        clase,tipo = funcion
        params = {'inicial':self._inicial,'param':self._param,'ratio':self._apuesta.ratio}
        self._novamas = NoVaMas(clase,tipo,params)

        self._inicializa()
Exemple #7
0
    def __init__(self,ruleta='europea',multiplicidad=18):

        mltps = apuestas_unitarias.keys()
        cond = (multiplicidad in mltps)
        mensaje = "Las multiplicidades de las apuestas unitarias son: "+repr(mltps)
        valida(cond,multiplicidad,mensaje)
        self._multiplicidad = multiplicidad

        self._nombre = apuestas_unitarias[self._multiplicidad]

        R = Ruleta(tipo=ruleta)
        self._minima,self._maxima = R[self._multiplicidad]
        self._zeros = R['zeros']

        self._exito = float(self._multiplicidad)/(36+self._zeros)
        self._fallo = 1-self._exito
        self._media = 1/self._exito
        self._varianza = (1-self._exito)/self._exito/self._exito
        self._moda = 1.0
        self._mediana = math.ceil(-1/math.log(1-self._exito,2))

        self._ratio = 36/self._multiplicidad-1
        self._pago = (self._ratio,1)
Exemple #8
0
    def __init__(self,
         clase       = 'apuesta',
         tipo        = 'constante',
         argumentos = {'inicial':1,'param':None,'ratio':1}
     ):

        cond = (clase in NoVaMas.clases)
        mensaje = "'clase' debe ser '{0}' o '{1}'".format(*NoVaMas.clases)
        valida(cond,clase,mensaje)
        self._clase = clase

        cond = (tipo in NoVaMas.tipos)
        mensaje = "'tipo' debe ser uno de "+repr(NoVaMas.tipos)
        valida(cond,tipo,mensaje)
        self._tipo = tipo

        cond = (set(argumentos) == NoVaMas.__parametros)
        mensaje = "Los parámetros válidos son: {0}, {1} y {2}".format(*NoVaMas.__parametros)
        valida(cond,argumentos,mensaje)
        self._argumentos = argumentos

        funcion = dict(zip(NoVaMas.funckeys,NoVaMas.funciones[(clase,tipo)]))

        inicial = self._argumentos.setdefault('inicial',1)
        param = self._argumentos.setdefault('param',None)

        validaparam = funcion['validaparam']
        cond = eval(validaparam[0])
        mensaje = validaparam[1]
        valida(cond,param,mensaje)
        self._validaparam = validaparam

        self._codigo = funcion['codigo']
        self._descripcion = funcion['descripcion']
        self._funcion = self._genfunc()
        self._novamas = self._funcion_novamas()
Exemple #9
0
 def probabilidad(self,n):
     cond = (n>=1)
     mensaje="La longitud de la racha debe ser mayor o igual que 1"
     valida(cond,n,mensaje)
     return self._exito*(1-self._exito)**(n-1)
Exemple #10
0
 def resto(self,resto):
     cond = (resto >= 1)
     mensaje = "El resto debe ser mayor que 1"
     valida(cond,resto,mensaje)
     self._resto = resto
     self._inicializa()
Exemple #11
0
 def racha(self,n):
     cond = (n>=1 and n<=self._long)
     mensaje = "El número de jugada debe estar entre 1 y {0} ambos incluidos".format(self._long)
     valida(cond,n,mensaje)
     n = n-1
     return self._Apuesta[n],self._Coste[n],self._Ganancia[n],self._Resto[n],self._prbs[n]