def Par(): parametros = f_d.inp('o que fazer com os amontados?', ('marcar segundo', 'retirar vazios')) op = f_d.inp(parametros, ('confirmar filtro_amontoados', 'comecar novamente')) if op == 'confirmar filtro_amontoados': return parametros if op == 'comecar novamente': return Par()
def Par(caracteristicas): parametros = {'segmentosPar': [], 'posicoesPar': []} parametros = segmentosPar_(caracteristicas, parametros) op = f_d.inp('adicionar caracteristicas para posicoes?', ('s', 'n')) if op == 's': parametros = posicoesPar_(caracteristicas, parametros) op = f_d.inp('adicionar caracteristicas para filtros?', ('s', 'n')) if op == 's': parametros = filtrosPar_(caracteristicas, parametros) op = f_d.inp(parametros, ('confirmar segmentacao', 'comecar novamente')) if op == 'confirmar segmentacao': return parametros if op == 'comecar novamente': return Par(caracteristicas)
def filtrosPar_(caracteristicas, parametros): sc = f_d.inp('caracteristicas para filtros:', (caracteristicas)) st = f_d.inp('modos de segmentar:', ('p1f', 'p1p2f', 'p2m1f')) parametros['posicoesPar'].append((sc, st)) op = f_d.inp(parametros, ('confirmar entrada', 'refazer entrada')) if op == 'confirmar entrada': op = f_d.inp('adicionar outra caracteristica para filtros?', ('s', 'n')) if op == 's': return filtrosPar_(caracteristicas, parametros) if op == 'n': return parametros if op == 'refazer entrada': parametros['posicoesPar'].pop() return filtrosPar_(caracteristicas, parametros)
def Par(parametroanalise, parametros): parametros = filtroPar(parametroanalise, parametros) op = f_d.inp(parametros, ('confirmar filtro_tipo', 'comecar novamente')) if op == 'confirmar filtro_tipo': return parametros if op == 'comecar novamente': return Par(parametroanalise, [])
def filtroPar(parametroanalise, parametros): opcoes = [ x[0] for x in parametroanalise[0][1][1]['posicoesPar'] if 'f' in x[1] ] opcoes.append('nome') caracteristica = f_d.inp('por qual caracteristica filtrar?', opcoes) def valores_(): valores = input('que contenha quais valores? ') try: valores = [float(v) for v in valores.split(',')] except ValueError: valores = [v.strip() for v in valores.split(',')] print((caracteristica, valores)) op = f_d.inp( 'certifique-se que digitou valores correspondentes a caracteristica:', ('confirmar', 'repetir')) if op == 'confirmar': return valores if op == 'repetir': return valores_() valores = valores_() tipo = f_d.inp('como filtrar?', ('inclusivo qualquer', 'inclusivo todos', 'exclusivo qualquer', 'exclusivo todos')) print() parametros.append(({caracteristica: valores}, tipo)) op = f_d.inp(parametros, ('confirmar entrada', 'refazer entrada')) if op == 'confirmar entrada': op = f_d.inp('adicionar outra caracteristica ao filtro_tipo?', ('s', 'n')) if op == 's': return filtroPar(parametroanalise, parametros) if op == 'n': return parametros if op == 'refazer entrada': parametros.pop() return filtroPar(parametroanalise, parametros)
def valores_(): valores = input('que contenha quais valores? ') try: valores = [float(v) for v in valores.split(',')] except ValueError: valores = [v.strip() for v in valores.split(',')] print((caracteristica, valores)) op = f_d.inp( 'certifique-se que digitou valores correspondentes a caracteristica:', ('confirmar', 'repetir')) if op == 'confirmar': return valores if op == 'repetir': return valores_()
def filtroPar(parametroanalise, parametros): opcoes = [ x[0] for x in parametroanalise[0][1][1]['posicoesPar'] if 'f' in x[1] ] opcoes.append('nome') opcoes.append('posicao') caracteristica = f_d.inp('por qual caracteristica filtrar?', opcoes) quantidade = f_d.quantidade_() print() parametros.setdefault(caracteristica, int(quantidade)) op = f_d.inp(parametros, ('confirmar entrada', 'refazer entrada')) if op == 'confirmar entrada': op = f_d.inp( 'adicionar outra caracteristica ao filtro_quantidade?', ('s', 'n')) if op == 's': return filtroPar(parametroanalise, parametros) if op == 'n': return parametros if op == 'refazer entrada': parametros.pop(caracteristica) return filtroPar(parametroanalise, parametros)