1
resposta

Minha Solução utilizandoa biblioteca datetime

"""" Mariana é responsável por liberar o acesso ao escritório e precisa de um programa que verifique se os funcionários podem entrar. Para isso, ela usará o horário atual. O escritório só permite acesso entre 8h e 18h. Crie um programa que receba a hora atual como entrada (em formato de 24 horas) e exiba uma mensagem informando se o acesso é permitido ou negado. """

from datetime import datetime, time

inicio = time(8, 0)
fim = time(18, 0)

minutos = input("Informe os minutos atuais: ")

hora = input("Informe o horário atual: ")
if hora.isnumeric() and minutos.isnumeric():
    horario_informado = f'{hora}h{minutos}'
    horario_formatado = horario_informado.replace('h', ':')
horario = datetime.strptime(horario_formatado, "%H:%M").time()

if inicio <= horario <= fim:
    print(f'Acesso permitido {horario_formatado}')
else:
    print(f'Acesso negado {horario_formatado}')
1 resposta

Oi Bruno,

Muito bem! 👏

Sua solução está bem encaminhada, utilizando a biblioteca datetime de forma eficaz para comparar horários.

Sugestão de melhorias:

from datetime import datetime, time

inicio = time(8, 0)
fim = time(18, 0)

while True:
    horario_str = input("Informe o horário atual (HH:MM): ")
    try:
        horario = datetime.strptime(horario_str, "%H:%M").time()
        break
    except ValueError:
        print("Formato de horário inválido. Use o formato HH:MM.")

if inicio <= horario <= fim:
    print(f'Acesso permitido {horario.strftime("%H:%M")}')
else:
    print(f'Acesso negado {horario.strftime("%H:%M")}')

Melhorias:

  • Entrada Única: Agora, o usuário informa o horário em um único formato "HH:MM".
  • Tratamento de Erros: O bloco try-except garante que o programa não quebre com entradas inválidas, solicitando que o usuário insira o formato correto.
  • Formatação Simplificada: Usei horario.strftime("%H:%M") para formatar a saída, que é mais direto e eficiente.
tux matrix    Caso este post o tenha ajudado, por favor, marcar como solucionado ☑️. Bons Estudos! 🤓