示例#1
0
def get_counter(id):
    try:
        lista = personas_genotipo[id].diccionario_genes
        counter = [Counter(lista[i]) for i in lista]
        return counter
    except errores.NotFound("El id no es válido"):
        pass
示例#2
0
def pariente_de(grado, id):   #En vez de listas hacerlos generadores
    try:
        if grado == -1:
            primos = [feno_final[i].nombre + " " + feno_final[i].apellido
                      for i in range(len(feno_final))
                      if par_neg(id, i) == True and i != id]
            return primos
        if grado == 0:
            geno_igual = [feno_final[i].nombre + " " + feno_final[i].apellido
                          for i in range(len(feno_final))
                          if par_0(id,i) == True and i != id]
            return geno_igual
        if grado == 1:
            geno_parecido1 = [feno_final[i].nombre + " " + feno_final[i].apellido
                              for i in range(len(feno_final))
                              if i != id and par_1(id,i) == True]
            return geno_parecido1
        if grado == 2:
            geno_parecido2 = [feno_final[i].nombre + " " + feno_final[i].apellido
                              for i in range(len(feno_final))
                              if par_2(id,i) == True and i != id]
            return geno_parecido2
        if grado == 'n':
            geno_parecidon = [feno_final[i].nombre + " " + feno_final[i].apellido
                              for i in range(len(feno_final))
                              if par_n(id,i) == True and i != id]
            return geno_parecidon
    except errores.NotFound("Atributos incorrectos para pedir los parientes de una persona"):
        pass
示例#3
0
def prom(tag_caracteristica):
    car_x = tag_num(tag_caracteristica)
    if car_x == 0 or car_x == 5:
        gen = (float(solo_carac(i)[car_x]) for i in range(len(feno_final)))
        total = reduce(lambda x,y: x + y, gen)
        prom = total/len(feno_final)
        return prom
    else:
        raise errores.NotFound("No se puede sacar el promedio de esta caracteristica")
示例#4
0
def id_getter(nombre_completo):
    try:
        n = nombre_completo.split(" ", 1)
        nombre = n[0]
        apellido = n[1]
        id = [feno_final[i].id for i in range(len(feno_final))
              if feno_final[i].nombre == nombre and feno_final[i].apellido == apellido]
        return int(id[0])
    except:
        errores.NotFound("No se encontró el nombre pedido")
示例#5
0
def max(tag_caracteristica):
    try:
        car_x = tag_num(tag_caracteristica)
        if car_x == 0 or car_x == 5:
            lista = [float(solo_carac(i)[car_x]) for i in range(len(feno_final))]
            lista.sort() ; return lista[len(lista)-1]
        else:
            carac = (solo_carac(i)[car_x] for i in range(len(feno_final)))
            count = Counter(carac)
            maxi = count.most_common() ; return maxi[0][0]
    except errores.NotFound("El tag no existe"): pass
示例#6
0
def min(tag_caracteristica):
    try:
        car_x = tag_num(tag_caracteristica)
        if car_x == 0 or car_x == 5:
            car = [float(solo_carac(i)[car_x]) for i in range(len(feno_final))]
            car.sort() ; return car[0]
        else:
            car = (solo_carac(i)[car_x] for i in range(len(feno_final)))
            count = Counter(car)
            mini = count.most_common()[:-len(count):-1] ; return mini[0][0]
    except errores.NotFound("El tag no existe"): pass
示例#7
0
def valor_característica(tag_identificador, nombre_completo):
    # GTC, nombre
    try:
        id = id_getter(nombre_completo)
    except errores.NotFound("El nombre no es válido"):
        pass
    if tag_identificador == 'AAG': return feno_final[id].altura
    if tag_identificador == 'GTC': return feno_final[id].color_ojos
    if tag_identificador == 'GGA': return feno_final[id].color_pelo
    if tag_identificador == 'TCT': return feno_final[id].tono
    if tag_identificador == 'GTA': return feno_final[id].nariz
    if tag_identificador == 'CTC': return feno_final[id].pies
    if tag_identificador == 'CGA': return feno_final[id].vello
    if tag_identificador == 'TGG': return feno_final[id].guata
    if tag_identificador == 'TAG': return feno_final[id].vision