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