1
resposta

Controle de acesso ao escritório

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

if hora_atual < 8 or hora_atual > 18:
    print('Acesso negado! Horário de entrada de 8h às 18h')
else:
    print('Acesso liberado')
1 resposta

Olá, Camille. Como vai?

Seu código está muito bem resolvido e utiliza corretamente o operador lógico or para definir o bloqueio fora do expediente. Essa é uma aplicação clássica de segurança em sistemas de controle de acesso.

Gostaria de destacar um detalhe técnico importante: ao definir hora_atual < 8 or hora_atual > 18, o acesso será liberado exatamente às 18h (já que 18 não é maior que 18), mas será negado às 18h01 se você estivesse trabalhando com minutos. No formato de horas inteiras que você usou, o sistema entende que das 8h até as 18h59 o acesso ainda é permitido. Se a regra da empresa for encerrar rigorosamente às 18h, o ideal seria usar hora_atual >= 18.

Para agregar valor ao seu aprendizado, veja como podemos tornar esse sistema mais "inteligente" adicionando uma verificação para o intervalo de almoço e utilizando o elif:

hora_atual = int(input('Digite a hora atual (0-23): '))

if hora_atual < 8 or hora_atual > 18:
    print('Acesso negado: Fora do horário comercial.')
elif 12 <= hora_atual < 13:
    print('Acesso liberado: Mas atenção, a equipe está em horário de almoço.')
else:
    print('Acesso liberado: Bom trabalho!')

Por que usar essa estrutura?

  • Operadores de Comparação em Cadeia: No Python, você pode escrever 12 <= hora_atual < 13, o que deixa a leitura muito mais natural, quase como falamos no dia a dia.
  • Experiência do Usuário (UX): Diferenciar o motivo do bloqueio ou dar avisos específicos (como o do almoço) ajuda quem está utilizando o sistema a entender melhor o contexto.

Continue praticando essas combinações de operadores lógicos, pois elas são a base para construir regras de negócio complexas em qualquer software!

Espero que possa ter lhe ajudado!