Questão 66596

Tecnologia da Informação · 2025

Questão

ID 66596

Disciplina: Tecnologia da Informação

Assuntos: Conceitos e Propriedades das Linguagens de Programação, Python

Ano: 2025 Banca: PERFIL - ENADE Órgão: Segundo Simulado Pnd


Um professor de programação para o Ensino Médio está ensinando o conceito de tratamento de exceções (exception handling). Seus alunos já sabem como escrever programas que funcionam com entradas válidas, mas seus códigos quebram de forma abrupta quando o usuário digita algo inesperado, como um texto onde um número era esperado. Para ensinar uma programação mais robusta e defensiva, o professor introduz o bloco `try...except` em Python. Ele se baseia em uma recomendação do guia de estilo PEP 8: "O tratamento de exceções é fundamental para a criação de programas robustos. Em vez de tentar prever todas as entradas inválidas possíveis com uma série de `if`s (uma abordagem conhecida como 'Look Before You Leap' - LBYL), é muitas vezes mais limpo e mais 'pythônico' tentar executar a operação e estar preparado para capturar os erros específicos que podem ocorrer (uma abordagem 'Easier to Ask for Forgiveness than Permission' - EAFP). O bloco `try...except` permite isolar o código que pode falhar e fornecer uma rota de recuperação graciosa, em vez de deixar o programa morrer." O professor então apresenta duas versões de um programa que pede ao usuário para digitar sua idade e calcula o ano em que ele nasceu:

Versão 1 (sem tratamento de exceção): `idade = int(input("Digite sua idade: ")) ano_nascimento = 2025 - idade print("Você nasceu em", ano_nascimento)`

Versão 2 (com tratamento de exceção): `try: idade_str = input("Digite sua idade: ") idade = int(idade_str) ano_nascimento = 2025 - idade print("Você nasceu em", ano_nascimento) except ValueError: print("Erro: Você digitou um texto, não um número válido.")`

O que acontecerá em cada versão se o usuário digitar a palavra 'vinte' no prompt?

Alternativas da questão 66596
Pular para o conteúdo principal