FC ConcursosFC Concursos

Questão FC373128

Considere o programa em Python abaixo. Para que, ao executar o programa acima em condições ideais, a saída seja: ativo = False O juiz Juiz1 não está ativo no processo NP123456 A la

Linguagens de Programação para Ciência de Dados

FCC · 2022

Considere o programa em Python abaixo.

Para que, ao executar o programa acima em condições ideais, a saída seja:

 

ativo = False

O juiz Juiz1 não está ativo no processo NP123456

 

A lacuna I deve ser preenchida corretamente por:

  1. def __ocupado(self):

    print("ativo = False")

    self.__ativo = False

    print("O juiz " + self.nome + " não está ativo no processo "+ self.processo)

  2. def ocupado(self):

    self.__ativo = False

    print("ativo = ", self.__ativo)

    print("O juiz " + self.nome + " não está ativo no processo "+ self.processo)

  3. def ocupado(pessoa1)

    pessoa1.__ativo = !pessoa1.__ativo

    print("ativo = ", pessoa1.__ativo)

    print("O juiz ", pessoa1.nome, " não está ativo no processo ", pessoa1.processo)

  4. def __ocupado__(pessoa1):

    self.__ativo = not self.__ativo

    print("ativo = " + self.__ativo)

    print("O juiz " + self.nome + " não está ativo no processo " + self.processo)

  5. def __ocupado__(self)

    self.__ativo = not self.__ativo

    print("ativo = ", self.__ativo)

    print("O juiz ", self.nome, " não está ativo no processo ", self.processo)

Mostrar resposta e comentário

Gabarito

B

Comentário do professor

A alternativa correta define o método def ocupado(self): com o parâmetro self, garantindo que a rotina opere sobre a instância atual do objeto.

Dentro do método, self.__ativo = False atribui diretamente o valor desejado ao atributo privado, assegurando que o estado da instância passe a ser não ativo. O uso do identificador com duplo sublinhado indica name mangling, que corresponde ao atributo definido na classe.

Em seguida, print("ativo = ", self.__ativo) exibe o estado booleano exatamente como pedido, e a linha print("O juiz " + self.nome + " não está ativo no processo "+ self.processo) concatena as strings para formar a mensagem final com o nome do juiz e o número do processo.

Portanto, essa implementação altera o estado corretamente e produz a saída exigida sem operações extras (como inversão de valor), correspondendo à saída esperada do enunciado.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo