Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

[Projeto] Resposta questão

hora_atual = int(input("Digite a hora atual (formato 24 horas): "))

while hora_atual < 0 or hora_atual > 23:
  print("Erro: A hora deve estar entre 0 e 23.")
  hora_atual = int(input("Digite a hora atual (formato 24 horas): "))

if 8 <= hora_atual <= 18:
  print(f"A hora atual é {hora_atual}h. Seja Bem vindo!")
else:
  print(f"A hora atual é {hora_atual}h. Acesso negado.")
1 resposta
solução!

Oii, Maria!

Parabéns por concluir o exercício Controle de acesso ao escritório. Seu código ficou simplesmente sensacional e trouxe uma evolução fantástica em relação ao uso básico das estruturas condicionais.

O grande destaque do seu script foi a implementação da validação de dados com o laço while. Em sistemas reais de segurança e ponto eletrônico, não podemos permitir que o programa continue rodando se o usuário digitar um horário impossível (como -5 ou 27). Criar essa barreira com a condição while hora_atual < 0 or hora_atual > 23: garante que o sistema fique preso em um ciclo de correção até que uma informação confiável seja inserida, blindando o seu algoritmo contra dados inválidos.

Na sua visão, criar essa proteção com o laço while para garantir que o número seja válido tornou a lógica do teste if/else mais segura do que se o programa aceitasse qualquer valor logo de primeira?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!