Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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!

 

Compartilhar este post


Link para o post
Compartilhar em outros 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])

:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.