Searching for Lottery drawing list of ticket match...

Miki Tebeka miki.tebeka at gmail.com
Wed Aug 10 23:35:54 EDT 2011


Python built in types are enough for this problem IMO. You can use sets of tuples to specify ticket and drawings and then just do set intersection.

Say the drawing is set([(5, 'wb'), (1, 'wb'), (45, 'wb'), (23, 'wb'), (27, 'wb')]) (keeping black ball out). The you can create a score function:

Side note: I might used a namedtuple to have drawing.whites, drawing.black.

def score(ticket_whites, ticket_black, drawing_whites, drawing_black):
    num_whites = ticket_whites & drawing_whites
    black_matching = ticket_black == drawing_black
    return {
        (2, True)  : 1,
        (3, False) : 2,
        (3, True)  : 3,
        (4, False) : 4,
        (4, True)  : 5,
        (5, False) : 6,
        (5, True)  : 10
    }[(num_whites, black_matching)]



More information about the Python-list mailing list