Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

1
resposta

[Minha resolução] Controle de acesso ao escritório

def controle_de_acesso():
    while True:    
        try:
            entrada = input('Digite a hora atual (0–23) ou "sair": ').strip().lower()

            if entrada in ("sair", "exit", "q"):
                print("Encerrando o programa...")
                break

            horario = int(entrada)

            if not 0 <= horario <= 23:
                print('Coloque um horário válido (0 a 23).')
                continue

            if 8 <= horario <= 18:
                print('Acesso permitido.')
            else:
                print('Acesso negado.')

        except ValueError:
            print('Digite um número inteiro ou "sair".')
        
        except Exception as e:
            print(f'Um erro inesperado ocorreu: {e}')

controle_de_acesso()

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Olá, Bruno, como vai?

Seu código está consistente e cumpre a proposta do exercício sem ajustes obrigatórios. A leitura de entrada, o tratamento de erros e a validação do intervalo foram feitos com atenção, o que deixa o fluxo bem claro e seguro para quem usar a função.

Um ponto que pode ser interessante como aprimoramento é separar a lógica de acesso da parte interativa. Isso ajuda quando você quiser reaproveitar a função em outro contexto. Por exemplo, poderia existir uma função que apenas recebe um número e devolve a mensagem, enquanto outra cuida do loop de entrada.

Um exemplo simples dessa ideia seria algo como uma função que recebe a hora e retorna “Acesso permitido” ou “Acesso negado”, enquanto o loop chamaria essa função sempre que o usuário digitasse um valor válido.

Continue compartilhando seus exercícios no fórum, Bruno. Estamos à disposição.

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