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!

1
resposta

[Projeto] Controle de acesso ao escritório

De novo, implementei de maneira parecida à desafios anteriores

def verificar_acesso_escritorio():
    while True:
        try:
            hora_atual_str = input("Digite a hora atual (formato 24 horas): ")
            hora_atual = int(hora_atual_str)
            if 0 <= hora_atual <= 23:
                break
            else:
                print("Hora inválida. Por favor, digite um número entre 0 e 23.")
        except ValueError:
            print("Entrada inválida. Por favor, digite um número inteiro.")

    if 8 <= hora_atual <= 18:
        print("Acesso permitido.")
    else:
        print("Acesso negado.")

verificar_acesso_escritorio()
1 resposta

Oi, Laís. Como vai?

O seu código ficou bem cuidadoso, principalmente por usar while True, try e except ValueError para garantir que a pessoa digite uma hora válida antes de verificar o acesso. Isso deixa o programa mais seguro e evita que uma entrada inválida quebre a execução.

Você pode separar a validação da hora e a verificação do acesso em funções diferentes, deixando cada parte com uma responsabilidade:

def verificar_hora_valida(hora):
    return 0 <= hora <= 23

def verificar_acesso(hora):
    if 8 <= hora <= 18:
        return "Acesso permitido."
    return "Acesso negado."

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

if verificar_hora_valida(hora_atual):
    print(verificar_acesso(hora_atual))
else:
    print("Hora invalida.")

Esse código separa a regra de validação da regra de acesso, o que facilita a leitura e possíveis ajustes no futuro. Você pretende testar também horários limite, como 8, 18, 7 e 19, para conferir se o comportamento está como esperado?

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