Considere o seguinte trecho de código que mostra um laço de repetição construído em Python:
teste = True
while teste: teste = input('Digite algo ou pressione ENTER para sair.')
else: print('Estou fora da repetição.')
Sobre o código acima, é CORRETO afirmar apenas o que está escrito na alternativa:
Pressionar a tecla ENTER faz com que a variável teste receba o valor de string vazia, e string vazia é avaliada como falsa, por isso o fluxo do código é direcionado para a cláusula else.
Digitar a tecla de número zero faz com que a variável teste tenha o valor setado para False, por isso o fluxo do código é direcionado para a cláusula else.
Escrever a palavra “False” faz com que a variável teste receba o valor False, por isso o fluxo do código é direcionado para a cláusula else.
Informar qualquer caractere faz com que a variável teste tenha o valor setado para falso, porque o código contém erro e não executa.
Para responder a essa questão, é necessário entender como funciona um laço de repetição while
em Python e o que é considerado verdadeiro ou falso nesse contexto. O laço while
continuará executando enquanto a condição avaliada for verdadeira. No caso do código apresentado, a variável teste
é inicialmente verdadeira. Dentro do laço, ela recebe o resultado da função input()
, que vai ser uma string. Se nada for digitado e a tecla ENTER for pressionada, a string será vazia, o que é considerado falso em Python, encerrando o laço e executando a cláusula else.
Reflita sobre o que acontece quando a função input()
é chamada e o usuário pressiona apenas ENTER.
Considere quais tipos de valores são avaliados como falso em Python.
Lembre-se que a cláusula else é executada ao término do laço while
se ele não for interrompido por um break
.
Confundir um número zero digitado como um valor booleano falso, quando na verdade é uma string não vazia.
Assumir que escrever a palavra 'False' é o mesmo que o valor booleano False.
Acreditar que o código contém um erro sem testá-lo ou entender completamente seu funcionamento.
Em Python, uma string vazia é considerada como um valor booleano falso. O laço while
é uma estrutura de repetição que executa um bloco de código enquanto sua condição for verdadeira. A cláusula else associada a um laço while
é executada quando o laço é concluído sem ser interrompido por um break
.