Example #1
0
    def rule_even_by_odd(self):
        """
        """
        for each in self.all_content:
            even = 0
            odd = 0
            for el in each["Dozens"]:
                if utils.isodd(int(el)):
                    odd += 1
                else:
                    even += 1

            self.even_odd['e' + str(even) + 'xo' + str(odd)].append(int(each['Number']))
Example #2
0
    def rule_even_by_odd(self):
        """
        """
        for each in self.all_content:
            even = 0
            odd = 0
            for el in each["Dozens"]:
                if utils.isodd(int(el)):
                    odd += 1
                else:
                    even += 1

            if even == 0 and odd == 15:
                self.even_odd["e0xo15"].append(int(each['Number']))
            elif even == 1 and odd == 14:
                self.even_odd["e1xo14"].append(int(each['Number'])) 
            elif even == 2 and odd == 13:
                self.even_odd["e2xo13"].append(int(each['Number'])) 
            elif even == 3 and odd == 12:
                self.even_odd["e3xo12"].append(int(each['Number'])) 
            elif even == 4 and odd == 11:
                self.even_odd["e4xo11"].append(int(each['Number'])) 
            elif even == 5 and odd == 10:
                self.even_odd["e5xo10"].append(int(each['Number'])) 
            elif even == 6 and odd == 9:
                self.even_odd["e6xo9"].append(int(each['Number'])) 
            elif even == 7 and odd == 8:
                self.even_odd["e7xo8"].append(int(each['Number'])) 
            elif even == 8 and odd == 7:
                self.even_odd["e8xo7"].append(int(each['Number'])) 
            elif even == 9 and odd == 6:
                self.even_odd["e9xo6"].append(int(each['Number'])) 
            elif even == 10 and odd == 5:
                self.even_odd["e10xo5"].append(int(each['Number'])) 
            elif even == 11 and odd == 4:
                self.even_odd["e11xo4"].append(int(each['Number'])) 
            elif even == 12 and odd == 3:
                self.even_odd["e12xo3"].append(int(each['Number'])) 
            elif even == 13 and odd == 2:
                self.even_odd["e13xo2"].append(int(each['Number'])) 
            elif even == 14 and odd == 1:
                self.even_odd["e14xo1"].append(int(each['Number'])) 
            elif even == 15 and odd == 0:
                self.even_odd["e15xo0"].append(int(each['Number'])) 
Example #3
0
    def _get_data(self, html):
        parsedHtml = BeautifulSoup( html, convertEntities = BeautifulSoup.HTML_ENTITIES)

        dark_row_list = parsedHtml.findAll('tr',{'class':'odd'})
        light_row_list = parsedHtml.findAll('tr',{'class':'odd2'})

        LEND = len(dark_row_list)
        LENL = len(light_row_list)
        TOT = LEND + LENL + 1
        CD=0
        CL=0
        for i in range(1,TOT):
            if utils.isodd(i):
                self._extract_row_data(dark_row_list[CD])
                CD=CD+1
            else:
                self._extract_row_data(light_row_list[CL])
                CL=CL+1
        return parsedHtml
Example #4
0
    def rule_even_by_odd(self):
        """
        """
        for each in self.all_content:
            even = 0
            odd = 0
            for el in each["Dozens"]:
                if utils.isodd(int(el)):
                    odd += 1
                else:
                    even += 1

            if even == 0 and odd == 5:
                self.even_odd["e0xo5"].append(int(each['Number']))
            elif even == 1 and odd == 4:
                self.even_odd["e1xo4"].append(int(each['Number'])) 
            elif even == 2 and odd == 3:
                self.even_odd["e2xo3"].append(int(each['Number'])) 
            elif even == 3 and odd == 2:
                self.even_odd["e3xo2"].append(int(each['Number'])) 
            elif even == 4 and odd == 1:
                self.even_odd["e4xo1"].append(int(each['Number'])) 
            elif even == 5 and odd == 0:
                self.even_odd["e5xo0"].append(int(each['Number'])) 
Example #5
0
    for ind in range(start, end):
        result = sena.suggest_num(method='Score', for_print=False)
        #result = sena.suggest_num(method='Most Recently', for_print=False)
        #result = sena.suggest_num(method='Least Recently', for_print=False)
        #um numero aleatorio a cada sorteio
        #result = random_num()

        par = 0
        impar = 0
        aux_list = []

        for el in result:
            if len(aux_list) >= 15:
                break

            if utils.isodd(int(el[0])):
                if impar < 7:
                    aux_list.append(el)
                    impar += 1
            elif not utils.isodd(int(el[0])):
                if par < 8:
                    aux_list.append(el)
                    par += 1

        result = aux_list[:15]
        #result = result[:15]
        for each in result:
            (x,y) = each
            suggested.append(x)

        sena = SenaStats('./data/d_megasc.htm', ind)
Example #6
0
def main():

    suggested = []
    start = 150
    end = 2801
    quina = QuinaStats('../data/D_QUINA.HTM', start - 1)
    stat = {'0ac':0, '1ac':0, '2ac':0, '3ac':0, '4ac':0, '5ac':0}

    if len(sys.argv) < 2 or sys.argv[1] not in ['score', 'most', 'least', 'rand_all', 'rand_one']:
        print ('Usage : %s  [score|most|least|rand_all|rand_one]' % (sys.argv[0],))
        return 1

    if sys.argv[1] == 'rand_one':
        # um mesmo numero aleatorio para todos os sorteios
        result = random_num()

    method = None

    if sys.argv[1] == 'score':
        method = 'Score'

    if sys.argv[1] == 'most':
        method = 'Most Recently'

    if sys.argv[1] == 'least':
        method = 'Least Recently'

    for ind in range(start, end):
        if method:
            result = quina.suggest_num(method, for_print=False)
            par = 0
            impar = 0
            aux_list = []
            start = 0
            finished = False

            while not finished:
                for el in result[start:]:
                    start += 1
                    if len(aux_list) >= 7:
                        break

                    if utils.isodd(int(el[0])):
                        if impar < 3:
                            aux_list.append(int(el[0]))
                            impar += 1
                    elif not utils.isodd(int(el[0])):
                        if par < 4:
                            aux_list.append(int(el[0]))
                            par += 1

                if sum(aux_list) < 196:
                    menor = min(aux_list)
                    aux_list.remove(menor)
                    if utils.isodd(menor):
                        impar -= 1
                    else:
                        par -= 1

                elif sum(aux_list) > 380:
                    maior = max(aux_list)
                    aux_list.remove(maior)
                    if utils.isodd(maior):
                        impar -= 1
                    else:
                        par -= 1
                else:
                    finished = True

            result = aux_list[:7]

        elif sys.argv[1] == 'rand_all':
            result = random_num()
            result = result[:7]

        else:
            result = result[:7]

        for each in result:
            suggested.append(each)

        quina = QuinaStats('../data/D_QUINA.HTM', ind)
        dozens = quina.all_content[-1]['Dozens']
        doz_aux = []
        num_acertos = 0
        for doz_elem in dozens:
            if int(doz_elem) in suggested:
                doz_aux.append(doz_elem)
                num_acertos += 1

        if num_acertos == 0 : stat['0ac'] += 1
        elif num_acertos == 1 : stat['1ac'] += 1
        elif num_acertos == 2 : stat['2ac'] += 1
        elif num_acertos == 3 : stat['3ac'] += 1
        elif num_acertos == 4 : stat['4ac'] += 1
        elif num_acertos == 5 : stat['5ac'] += 1

        both_value = (sorted(suggested), doz_aux)
        print (both_value)
        suggested = []

    print(stat)