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')
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')
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?
12 <= hora_atual < 13, o que deixa a leitura muito mais natural, quase como falamos no dia a dia.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!