def crossover(p1, p2):
    split = math.floor(p1.data.__len__()/2)#random.randint(1, str(p1.data).__len__())
    kid1 = Chromosome()
    kid2 = Chromosome()
    for i in range(0, str(p1.data).__len__()):
        if i < split:
            kid1.data = kid1.data + p1.data[i]
            kid2.data = kid2.data + p2.data[i]
        else:
            kid1.data = kid1.data + p2.data[i]
            kid2.data = kid2.data + p1.data[i]
    return (kid1, kid2)
def mutate(chromosome):
    newChromosome = Chromosome()
    for c in chromosome.data:
        r = random.randint(0, 100)
        if r < 10:
            if c is '0':
                c = '1'
            elif c is '1':
                c = '0'
        newChromosome.data = newChromosome.data + c
    return newChromosome