A implementação de lógicas de tratamento de erros de execução e exceções é uma boa prática na programação. Considere o código abaixo escrito na linguagem Python, versão 3.11.11. <1> try: <2> x = int(input()) <3> except: <4> x = 0 <5> else: <6> x = x//2 <7> finally: <8> y = x%3 Analise os itens a seguir. I. Se o retorno de input() na linha <2> for "100", o valor atribuído a y na linha <8> será 2 (dois). II. Se o retorno de input() na linha <2> for "2025", o valor atribuído a y na linha <8> será 0 (zero). III. Se o retorno de input() na linha <2> for "2*50", o comando na linha <8> não será executado. Está correto o que se afirma em
- A)I, apenas.
Correta, porque com entrada "100" o código segue pelo else e o valor final de y é 2.
- B)II, apenas.
Errada, porque com "2025" o cálculo final de y não é 0.
- C)I e II, apenas.
Errada, porque com "2025" a afirmação II falha e a III também está incorreta.
- D)I e III, apenas.
Errada, porque a linha 8 dentro de finally sempre é executada, mesmo havendo exceção.
- E)II e III, apenas.
Errada, porque a linha 8 também é executada quando ocorre erro na conversão.
Gabarito: A
Em Python, o bloco try tenta executar o código normalmente. Se der erro, entra no except; se não der erro, executa o else; e o finally sempre roda no fim, aconteça o que acontecer. Aqui, isso é o ponto central: o comando da linha 8 é executado em qualquer cenário, porque ele está dentro do finally. Não tem esse de “pular fora” só porque houve exceção ou porque o else não rodou. No caso do valor "100", a conversão int(input()) funciona, então o else é executado e x vira 100 // 2 = 50. Depois, no finally, y recebe 50 % 3 = 2. Portanto, a afirmação I está correta. Já com "2025", também não há erro: x vira 2025, depois no else vira 1012, e então y = 1012 % 3 = 1, não 0. Logo, a afirmação II está errada. Se a entrada for "2*50", a conversão para int falha, cai no except, x vira 0, e ainda assim o finally executa y = 0 % 3 = 0. Então a afirmação III também está errada. Resumo de prova: finally é o bloco teimoso, ele sempre aparece no final. É exatamente isso que derruba muita gente quando a banca mistura erro de execução com fluxo de exceção.