def get_winning_data(begin_date, end_date):
    ## ========== GET DATA FROM WEBSITE ========== ##
    date_begin = begin_date
    date_end = end_date
    print "Parsing data from " + date_begin + " to " + date_end
    raw_data = get_data(date_begin, date_end)


    ## ========== CONVERT RAW DATA INTO USABLE FORM  ==========##
    combined_data = combine(raw_data)
            #combine separated data for one number into one element

    i24 = num_cat_sort_module.get_i24(combined_data)
    i12 = num_cat_sort_module.get_i12(combined_data)
    i6 = num_cat_sort_module.get_i6(combined_data)
    i4 = num_cat_sort_module.get_i4(combined_data)
            #separate combined_data into respective num_cat

    i24_num = []
    for each in i24:
        i24_num.append(each[0])
    i12_num = []
    for each in i12:
        i12_num.append(each[0])
    i6_num = []
    for each in i6:
        i6_num.append(each[0])
    i4_num = []
    for each in i4:
        i4_num.append(each[0])
            # we extract 4D number from each num_cat
    
    i24_winnings = analyze_num_bought(i24_num[20:30])
    i12_winnings = analyze_num_bought(i12_num[:10])
    i6_winnings = analyze_num_bought(i6_num[:10])
    i4_winnings = analyze_num_bought(i4_num[:10])
            #put each num_cat into calculator to get
            #[total_winning, draw_count, sorted_num_hit]

    return [i24_winnings,i12_winnings,i6_winnings,i4_winnings]
Exemple #2
0
result_2m_raw = get_data("2015/07/01", "2015/07/31")

print "result_1m : 2015/08/01 to 2015/08/31\n"
result_1m_raw = get_data("2015/08/01", "2015/08/31")

result_raw = [result_24m_raw,result_23m_raw,result_22m_raw,result_21m_raw,result_20m_raw,
              result_19m_raw,result_18m_raw,result_17m_raw,result_16m_raw,result_15m_raw,
              result_14m_raw,result_13m_raw,result_12m_raw,result_11m_raw,result_10m_raw,
              result_9m_raw,result_8m_raw,result_7m_raw,result_6m_raw,result_5m_raw,
              result_4m_raw,result_3m_raw,result_2m_raw,result_1m_raw]


## ===== Number Analysis ===== ##
result_combined = []
for each in result_raw:
    new = combine(each)
    result_combined.append(new)

     ## each num cat gets its own list
i24 = []
for each in result_combined:
    new =  num_cat_sort_module.get_i24(each)
    i24.append(new)
i12 = []
for each in result_combined:
    new = num_cat_sort_module.get_i12(each)
    i12.append(new)
i6 = []
for each in result_combined:
    new =  num_cat_sort_module.get_i6(each)
    i6.append(new)
def analyze_num_bought(num_bought):

        
    ## ========== WEB PARSING STAGE ========== ##
    start = "2015/08/01"
    end = "2015/08/31"
    print "Getting winnings data: " + start + " - " + end

    raw_result = get_data(start, end)

    combined_result = combine(raw_result)

    i24 = num_cat_sort_module.get_i24(combined_result)
    i12 = num_cat_sort_module.get_i12(combined_result)
    i6 = num_cat_sort_module.get_i6(combined_result)
    i4 = num_cat_sort_module.get_i4(combined_result)



    ## ========== CALCULATE THE NUM OF DRAW WITHIN STIPULATED RANGE ==========#

    draw_count = 0
    for each_draw in combined_result:
        draw_count += each_draw[3]

    ## ========== GET WINNING FOR EACH NUM ========== ##

    i24_num_winning = {}
    for each_draw in i24:
        num = each_draw[0]
        amount = prize_calc.i24_prize_calc(each_draw)

        if num in i24_num_winning:
            i24_num_winning[num] += amount
        else:
            i24_num_winning[num] = amount

    i12_num_winning = {}
    for each_draw in i12:
        num = each_draw[0]
        amount = prize_calc.i12_prize_calc(each_draw)

        if num in i12_num_winning:
            i12_num_winning[num] += amount
        else:
            i12_num_winning[num] = amount
    
    i6_num_winning = {}
    for each_draw in i6:
        num = each_draw[0]
        amount = prize_calc.i6_prize_calc(each_draw)

        if num in i6_num_winning:
            i6_num_winning[num] += amount
        else:
            i6_num_winning[num] = amount

    i4_num_winning = {}
    for each_draw in i4:
        num = each_draw[0]
        amount = prize_calc.i4_prize_calc(each_draw)

        if num in i4_num_winning:
            i4_num_winning[num] += amount
        else:
            i4_num_winning[num] = amount

    ## ========== CHECK NUM-WINNING DICT AGAINST GIVEN NUM LIST ========== ##

    num_hit = []    #list of num that hit
    total_winning = 0        # store total winning
    all_num_cat_winning = {24:i24_num_winning,12:i12_num_winning,6:i6_num_winning,4:i4_num_winning}
            #dict mapping each num_cat to its winning
    
    for each_num in num_bought:
        each_num_perm = gen_perm(each_num)    # generate all possible permutations for num bought
        num_cat = check_num_cat(each_num)    
        num_winning = all_num_cat_winning[num_cat]
        for each_perm in each_num_perm:
            str_each_num = str(each_perm)
            if str_each_num in num_winning:
                total_winning += num_winning[str_each_num]
                new = [str_each_num, num_winning[str_each_num]]
                num_hit.append(new)

    sorted_num_hit = sorted(num_hit, key=getKey, reverse=True)

    return_lst = [total_winning, draw_count, sorted_num_hit]

    return return_lst
Exemple #4
0
    def combine_result(self):
	    # combine raw result into a list containing combined result for all num cat
	    for each in self.result_raw:
			new = combine(each)
			self.result_combined.append(new)
Exemple #5
0
        # [0] = i24     [1] = i12       [2] = i6
        # [3] = i4      [4] = i1  
count_i24 = []
count_i12 = []
count_i6 = []
count_i4 = []

        # we want to know i12 draw count for each draw

past_draw_date = [[3,4,6,7,10,11,14,17,18,21,24,25,27,28,31],[1,3,4,7,8,11,14,15,17,18,21,22,24,25,28],[1,3,4,7,8,11,14,15,18,21,22,25,28,29,31],[1,4,5,7,8,11,12,15,18,19,22,25,26,28,29],[2,3,5,6,9,10,13,16,17,20,23,24,26,27,30,31],[2,3,6,7,10,13,14,17,20,21,24,27,28],[1,4,5,8,11,12,15,18,19,22,25,26,29],[1,2,4,5,8,9,12,15,16,19,22,23,26,29,30],[1]]
month_counter = 1
while month_counter <= len(past_draw_date):
    for each_month in past_draw_date:
        for each_day in each_month:
            raw_result = get_data(month_counter, each_day)
            combined_result = combine(raw_result)
            separated_result = result_separator(combined_result)
            count_i24.append(len(separated_result[0]))
            count_i12.append(len(separated_result[1]))
            count_i6.append(len(separated_result[0]))
            count_i4.append(len(separated_result[3]))       #we just want to know the count
        month_counter += 1
print "i24 len: ", len(count_i24)
print "i12 len: ", len(count_i12)
print "i6 len: ", len(count_i6)
print "i4 len: ", len(count_i4)

print "==========End of execution=========="

#Below are Testing codes
"""