pos_ocupada: como guardar um resultado booleano dentro de um laço?

Re: pos_ocupada: como guardar um resultado booleano dentro de um laço?

por Marcelo Queiroz -
Número de respostas: 0

Oi, André!

Provavelmente o problema esteja em você "retornar" alguma coisa antes de realmente ter acabado de fazer tudo o que você precisava. Como exemplo, considere o código abaixo. Ele percorre todos os números entre 1 e n, e devolve True se são encontrados apenas 2 divisores inteiros (1 e n), False caso contrário. Ao invés de "retornar" dentro do laço, apenas o valor parcial do contador de divisores é atualizado:

def primo ( n ):
    conta_divisores = 0
    candidato=1
    while candidato<=n:
        if n%candidato == 0:
            conta_divisores = conta_divisores+1
        candidato = candidato+1
    return conta_divisores==2

Veja se é algo desse tipo que você precisaria fazer, talvez com um indicador de passagem booleano.

Marcelo