1
resposta

Controle de acesso ao escritório

from datetime import datetime

def titulo(texto):
    print('=' * len(texto))
    print(texto)
    print('=' * len(texto))

def opcoes():
    print('''Gostaria de verificar o horário de forma automática ou manual?
    (1) - Automática
    (2) - Manual
    ''')
    opcao = int(input('Digite a sua escolha: '))
    return opcao

def analise_condicao(horario):
    if 8 <= horario < 18:
        print('Acesso liberado')
    else:
        print('Acesso negado')

def main():
    titulo('CONTROLE DE ACESSO AO ESCRITÓRIO')
    opcao = opcoes()
    if opcao == 1:
        horario = datetime.now().hour
        analise_condicao(horario)
    else: 
        horario = input('Digite a hora atual (formato 24 horas): ')
        if ':' in horario:
            horario = horario.split(':')[0]
        analise_condicao(int(horario))

if __name__ == '__main__':
    main()
1 resposta

Oi, Giovanni! Como vai?

Agradeço por compartilhar.

Sua solução ficou bem organizada com o uso de funções como titulo(), opcoes() e analise_condicao(), o que deixa o código mais fácil de ler e manter. Também foi uma boa escolha permitir a verificação automática com datetime.now().hour e manual pelo input().

Uma dica interessante para o futuro é validar a opção digitada antes de converter com int, evitando erro caso a pessoa digite uma letra.

entrada = input('Digite a sua escolha: ')

if entrada.isdigit():
    opcao = int(entrada)
    print(opcao)
else:
    print('Digite apenas numeros')

O método isdigit() verifica se o texto possui apenas números antes da conversão para inteiro.

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