Jump to content

Archived

This topic is now archived and is closed to further replies.

Miguel71

Mudar de operação lógica dentro de um laço for conforme o valor do incremento, buscando o operador em uma lista.

Recommended Posts

Olá!

Eu quero passar um operador lógico, "and" ou "or" buscando-o dentro de uma lista que tem outros parâmetros, como strings, números, variáveis previamente declaradas. 

Estes parâmetros são passados para  os comandos  que serão repetidos em um laço de repetição "for" conforme o incremento do laço.

Então a cada incremento busca-se indexando a lista o que se quer passar. Todos os parâmetros eu consigo passar normalmente, mas não sei como

buscar da lista o operador que desejo conforme o laço é executado. 

.

erode_c = np.zeros((M, N))

list = [ '00-resultadoErosao.tif', 255, erode_c, img, and,
           '01-resultadoDilatacao.tif', 0, dilate_c, img, or,
           '02-resultadoAbertura.tif', 0, open_c, erode_c, or,
           '03-resultadoFechamento.tif', 255, close_c, dilate_c, and ]

for i in range(0, 20, 5):

    variavel  =  variavel    and    list[i+3] [linha,coluna] 

.

o que está em list[i+3] é o nome de uma matriz. Funciona perfeito.

Agora, onde tem o operador "and"  eu queria passar list[i+4 ] mas não funciona, dá erro :P

a linha de código ficaria assim:

    variavel =   variavel    list[i+4 ]     list[i+3] [linha,coluna] 

Tem como fazer isso? Se é que fui claro?

Valeu!

 

Share this post


Link to post
Share on other sites

Já consegui por mim!

import operator #Muito bom esse módulo!

list = [ '00-resultadoErosao.tif',  255,  erode_c,  img,  operator.__and__,

para usar no laço for:

variavel = list[i+4](variavel,   list[i+3][linha, coluna])

:)

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.