PythonCondicionaisintermediario

Saudação por horário

Sistemas reais, como aplicativos de clima ou redes sociais, frequentemente exibem saudações baseadas no horário do usuário. Dominar a lógica de intervalos com if/elif/else é essencial para implementar esse tipo de funcionalidade de forma correta, evitando sobreposições ou falhas na validação de dados inconsistentes.

O PROBLEMA

Peça a hora atual (0-23) e exiba a saudação correta: Bom dia (0-11), Boa tarde (12-17), Boa noite (18-23). Se inválida, mostre erro.

EXEMPLO

Entrada: 14
Saída: Boa tarde

Entrada: 25
Saída: Hora inválida

SOBRE O CONCEITO

O exercício usa if/elif/else para verificar intervalos contínuos de 0 a 23. O erro comum é não validar a hora inválida primeiro, ou definir intervalos que se sobreponham, como if hora <= 11 e depois elif hora < 18, que deixaria as 12h de fora. A ordem correta é verificar o caso inválido (hora < 0 or hora > 23) antes de testar os intervalos válidos, usando and para garantir limites inclusivos: if hora >= 0 and hora <= 11. Assim, cada condição é mutuamente exclusiva e cobre todos os casos.

RESOLUÇÃO

Mais exercícios de Condicionais

PYC001B · BásicoPar ou ímparPYC003B · BásicoPositivo ou negativoPYC002B · BásicoMaior de idadePYC023A · AvançadoValidador de senha
Ver todos os exercícios de Python