It is currently 15 Sep 2019, 07:29

The Lottery Forum - Lottery Generators
• Featuring Members' Works (Image Attachments) •
1: member
2: member
3: member
4: member
5: member

The lottery forum section of gimplearn.net will be here for historical purposes, as we have
created a brand new stand-alone forum at https://gimplearn.net/thelotteryforum/.
Please try to register and post there instead

TLF Topics: Active | Unanswered | Random
TLF Posts: Unread | New | Random
Lottery Forum
     Lottery/General Program Requests | Lottery Generators |🡆 Lottery CodeSkulptor Programs
     General Programs
     Chit Chat
Social:  Say Hello | Anything Goes | Shares

Lottery CodeSkulptor ProgramsLottery Wheeling Tools

Lottery Programs coded in CodeSkulptor
Forum rules
This forum is now locked.
Please visit The Lottery Forum (New)
Locked
tim

GL Blogger

Lottery Wheeling Tools

Post#1 by tim » 13 Apr 2019, 14:50


PROCEED at YOUR OWN RISK (Please play responsibly).

These wheels were generated using a python program (code at very bottom) that generate substitute keys to use as wheeling pattern. The patterns are then used in Codeskulptor (CS) Programs tools below.

What I do is I generate all combinations, then keep selecting a combination that has the most minimum match then select filter them out, look for the next combination and so on until all possible combinations have been exhausted/covered.

For games that choose 5 numbers (ignoring the bonus ball, choose your own bonus ball) like Mega-Millions, Powerball, Fantasy 5, Rolling Cash 5, you can use these wheels
{Explanation: for example 11 Wheel, if match 5, win 3 with 5 tickets (5 numbers per ticket) meaning if you chose 11 numbers to feed as input into that wheel, it'll give you 5 tickets/lines to play such that if you match 5 out of 11 numbers, you're guaranteed to win at least 3 numbers out of the 5 matches on at least 1 of the tickets}:
Win 3's
10 Wheel, if match 5, win 3 with 2 tickets (5 numbers per ticket)
11 Wheel, if match 5, win 3 with 5 tickets (5 numbers per ticket)
12 Wheel, if match 5, win 3 with 6 tickets (5 numbers per ticket)
13 Wheel, if match 5, win 3 with 9 tickets (5 numbers per ticket)
14 Wheel, if match 5, win 3 with 14 tickets (5 numbers per ticket)
15 Wheel, if match 5, win 3 with 17 tickets (5 numbers per ticket)
16 Wheel, if match 5, win 3 with 21 tickets (5 numbers per ticket)
Win 4's
7 Wheel, if match 5, win 4 with 3 tickets (5 numbers per ticket)
8 Wheel, if match 5, win 4 with 5 tickets (5 numbers per ticket)
9 Wheel, if match 5, win 4 with 11 tickets (5 numbers per ticket)
10 Wheel, if match 5, win 4 with 21 tickets (5 numbers per ticket)
Below are wheels for Select 6 games Lottery 6/49, 6/39, 6/45, etc...:
Win 3 if match 3
12 Wheel, if match 3, win 3 with 15 tickets (6 numbers per ticket)
Win 3's
14 Wheel, if match 6, win 3 with 4 tickets (6 numbers per ticket)
15 Wheel, if match 6, win 3 with 4 tickets (6 numbers per ticket) **
16 Wheel, if match 6, win 3 with 5 tickets (6 numbers per ticket)
17 Wheel, if match 6, win 3 with 6 tickets (6 numbers per ticket)
18 Wheel, if match 6, win 3 with 10 tickets (6 numbers per ticket)
Win 4's
9 Wheel, if match 6, win 4 with 3 tickets (6 numbers per ticket)
10 Wheel, if match 6, win 4 with 3 tickets (6 numbers per ticket) **
11 Wheel, if match 6, win 4 with 5 tickets (6 numbers per ticket)
12 Wheel, if match 6, win 4 with 6 tickets (6 numbers per ticket)
13 Wheel, if match 6, win 4 with 12 tickets (6 numbers per ticket)
14 Wheel, if match 6, win 4 with 18 tickets (6 numbers per ticket)
Win 5's
8 Wheel, if match 6, win 5 with 4 tickets (6 numbers per ticket)
9 Wheel, if match 6, win 5 with 9 tickets (6 numbers per ticket)
10 Wheel, if match 6, win 5 with 15 tickets (6 numbers per ticket)
11 Wheel, if match 6, win 5 with 28 tickets (6 numbers per ticket)
Below are wheels for "Select 7" games such as Canadian LottoMax
Win 3's (if match 5)
13 Wheel, if match 5, win 3 with 2 tickets (7 numbers per ticket)
14 Wheel, if match 5, win 3 with 2 tickets (7 numbers per ticket) **
15 Wheel, if match 5, win 3 with 5 tickets (7 numbers per ticket)
16 Wheel, if match 5, win 3 with 5 tickets (7 numbers per ticket) **
17 Wheel, if match 5, win 3 with 7 tickets (7 numbers per ticket)
18 Wheel, if match 5, win 3 with 9 tickets (7 numbers per ticket)

** Indicates that with the same number of tickets, but covers a larger wheel than previous wheel(s).

Of course, more wheel types are possible. If you have a wheel type that you'd like to see on here, just make a request in this thread/topic. Try to request wheels of size 18 or smaller as patterns for larger wheel might take a really long time to generate.



You can use this Random Number Generator for Wheeling Tool to generate input for wheeling tools above.

See post #2 to get Combination Codeskulptor code and Create your own wheel Codeskulptor code.

Code of program that generate wheeling substitute keys (which are used to generate wheeling patterns for CS program tools above) in python 2.7 (Just in case I want to generate some other custom wheeling patterns that are not listed in above tools:

Code: Select all

from itertools import combinations 
ch = ['A','B','C','D','E','F','G','H','I','J','K','L','M','O'] #characters to use as number substitutes for wheeling keys
if_match = 5 #if we match this number of numbers in our wheel
min_match = 3 #minimum guarantee match
numbers_per_ticket = 5 #numbers on per line on a ticket


def row_match(row1,check1): #returns number of matches check appears in row
	count = 0
	for item in row1:
		if item in check1:
			count += 1
	return count

def row_matches_count(clist,checklist):
	for i in range(0,len(checklist)):
		checklist[i][1] = 0 #reset checks each time.
		for k in range(0,len(clist)):
			if clist[k][1] == 0: #not yet included
				c = row_match(clist[k][0],checklist[i][0])
				if c >= min_match:
					#print "match:" + str(c)
					checklist[i][1] += 1 #increment counter of rows matched mininum matches.
	return clist,checklist;
def allchecked(clist):
	for clistrow in clist:
		if clistrow[1] == 0:
			return False
	return True
def markcheck(clist,checkrow):
	for clistrow in clist:
		if clistrow[1] == 0: #not yet included
			c = row_match(clistrow[0],checkrow)
			if c >= min_match:
				clistrow[1] = 1  #mark it as checked
	return clist			
# Get all combinations of [1, 2, 3] 
# and length 2 
comb = combinations(ch, if_match) 
comb = list(comb)
#mylist = []
#copy and convert to list
for i in range(0,len(comb)): 
	comb[i] = [list(comb[i]),0]
	#mylist.append([list(comb[i][0]),0])

mylist = combinations(ch,numbers_per_ticket)
mylist = list(mylist)
for i in range(0,len(mylist)): 
	#comb[i] = [list(comb[i]),0]
	mylist[i] = [list(mylist[i]),0]

#match count
keys = []
while not allchecked(comb):
	comb,mylist = row_matches_count(comb,mylist)
	#print str(mylist)
	mylist = sorted(mylist,key=lambda x: -x[1])
	keys.append(mylist[0][0]) #add it as key
 	comb = markcheck(comb,mylist[0][0])
	del mylist[0]

for i in range(0,len(comb)):
	linenum = str(i+1)
	print linenum+ "-result",
	checkrow = comb[i][0]
	print "".join(checkrow),"buys:",
	for key in keys:
		c = row_match(checkrow,key)
		print "".join(key),c,
	print 
print "number of key lines:",len(keys)
print "Keys:",
for key in keys:
	print "".join(key),
print	
print str(len(ch)) + " Wheel, if match "+str(if_match) + ", win " + str(min_match) + " with " + str(len(keys)) + " tickets ("+str(numbers_per_ticket)+" numbers per ticket)."
print "end program!"
0 x
aka Tin
:tree_02:
Tin's: Favorite Index | Simple Art === fb4yt video search | fb4yt recent video views report
Lottery numbers from image | Interested Members in TLF
Paying for hosting is to support my hobby, and donating money made from ads to The Red Cross.
         

tim

GL Blogger

Post#2 by tim » 15 Apr 2019, 13:01


Create your own wheel with this Create your own wheel pattern

Combination code

Code: Select all

def check(ind,i,group_size,l):
    if i >= 0:
        ind[i] += 1 #try incrementing it
        if ind[i] > (l - 1 - (group_size-1-i)):
            return check(ind,i-1,group_size,l) 
        else:
            return i
    else:
        return i-1
def combinations(li,group_size):
    index = [0] * group_size #initialize pointers
    for i in range(0,group_size):
        index[i] = i
    l = len(li)
    combs = []
    while index[0] <= (l - group_size):
        #print ((l - group_size))
        #grab combination here
        comb = []
        #print (index)
        for z in range(0,group_size):
            comb.append(li[index[z]])
        combs.append(tuple(comb))
        i = group_size-1
       
        lowestchange = check(index,i,group_size,l)
        #print (lowestchange)
        for j in range(lowestchange+1,group_size):
            k = j - lowestchange
            #print (index[j-1]+k,end=",")
            index[j]=index[j-1]+1
       # print   
    return combs 
0 x
aka Tin
:tree_02:
Tin's: Favorite Index | Simple Art === fb4yt video search | fb4yt recent video views report
Lottery numbers from image | Interested Members in TLF
Paying for hosting is to support my hobby, and donating money made from ads to The Red Cross.
         


TLF Topics: Active | Unanswered | Random
TLF Posts: Unread | New | Random
Lottery Forum
     Lottery/General Program Requests | Lottery Generators |🡆 Lottery CodeSkulptor Programs
     General Programs
     Chit Chat
Social:  Say Hello | Anything Goes | Shares

Locked
  • Similar Topics
    Replies
    Views
    Last post

Who is online

Users browsing this forum: No registered users and 1 guest