1
resposta

Prática - Controle de acesso ao escritório

# Intervalo de acesso permitido
hora_inicio = 8
hora_fim = 18

# Entrada do usuário
hora_atual = int(input("Digite a hora atual (formato 24 horas): "))

# Verificação
if hora_inicio <= hora_atual < hora_fim:
    print("Acesso permitido.")
else:
    print("Acesso negado.")

Saída:

Digite a hora atual (formato 24 horas): 21
Acesso negado.

1 resposta

Olá, Aristóteles. Como vai?

Muito bom ver você aplicando a lógica de intervalos em Python! O uso dos operadores de comparação combinados (hora_inicio <= hora_atual < hora_fim) é uma forma muito elegante e "pythônica" de resolver esse problema, tornando o código limpo e fácil de ler.

Para agregar valor ao seu aprendizado, gostaria de sugerir duas melhorias que tornariam esse script de controle de acesso ainda mais robusto e próximo de um sistema real:

1. Tratamento de Horários Inválidos
O usuário pode acabar digitando um número que não faz sentido para um relógio (como 25 ou -1). Podemos adicionar uma verificação inicial para garantir que a entrada seja válida:

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

if hora_atual < 0 or hora_atual > 23:
    print("Hora inválida! Digite um valor entre 0 e 23.")
elif hora_inicio <= hora_atual < hora_fim:
    print("Acesso permitido.")
else:
    print("Acesso negado. O escritório está fechado.")

2. Verificação de Finais de Semana
Em sistemas de controle de acesso reais, o horário de funcionamento costuma mudar aos sábados e domingos. Você poderia evoluir seu código perguntando o dia da semana:

dia = input("Digite o dia da semana (ex: sabado, domingo, segunda): ").lower()

if dia == "sabado" or dia == "domingo":
    print("Acesso negado. Escritório fechado aos finais de semana.")
elif hora_inicio <= hora_atual < hora_fim:
    print("Acesso permitido.")
else:
    print("Acesso negado fora do horário comercial.")

Dica técnica: Operadores Lógicos
Repare que no Python você pode encadear as comparações como fez: 8 <= hora < 18. Isso é equivalente a escrever hora >= 8 and hora < 18. Ambas as formas funcionam, mas a que você utilizou é considerada mais legível.

Continue explorando as possibilidades das estruturas condicionais! Elas são a base para construir fluxos de decisão cada vez mais complexos.

Espero que possa ter lhe ajudado!