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

Saudação segundo a hora do dia e considerando minutos. Madrugada, dia, tarde, noite...

Saudação segundo a hora do dia e considerando minutos.
Madrugada, dia, tarde, noite...
https://colab.research.google.com/drive/1E18uutRR7gRYdTfgUTShaMa6J_haNOq0?usp=sharing

1 resposta

Olá, Herley. Como vai?

Excelente iniciativa em tentar criar uma saudação personalizada mais precisa considerando também as horas e os minutos. No Python, podemos resolver isso de forma muito elegante utilizando a biblioteca nativa datetime, que nos permite capturar o horário atual do sistema.

Para que a lógica de "madrugada, dia, tarde e noite" funcione perfeitamente com horas e minutos, o grande segredo é converter o horário atual para um valor numérico comparável ou trabalhar diretamente com os atributos de hora e minuto do objeto de tempo.

Como as faixas de horário do dia mudam geralmente na virada da hora cheia (ex: 12:00, 18:00), podemos criar uma função que recebe a hora e o minuto atuais e avalia essas condições.

Veja um exemplo prático e bem estruturado de como implementar essa lógica em Python:

from datetime import datetime

def obter_saudacao(hora, minuto):
    # Definimos os períodos com base nas horas e minutos
    # Madrugada: das 00:00 às 05:59
    if 0 <= hora < 6:
        return "Boa madrugada"
    # Dia/Manhã: das 06:00 às 11:59
    elif 6 <= hora < 12:
        return "Bom dia"
    # Tarde: das 12:00 às 17:59
    elif 12 <= hora < 18:
        return "Boa tarde"
    # Noite: das 18:00 às 23:59
    else:
        return "Boa noite"

# Capturando o horário atual do sistema
agora = datetime.now()
hora_atual = agora.hour
minuto_atual = agora.minute

# Chamando a função e gerando a mensagem personalizada
saudacao = obter_saudacao(hora_atual, minuto_atual)

print(f"{saudacao}! Agora são {hora_atual:02d}:{minuto_atual:02d}.")

Boas Práticas Aplicadas:

  • Uso de funções (def): Isolamos a lógica da saudação dentro de uma função. Isso deixa seu código limpo, organizado e reutilizável.
  • Formatação de String (f-strings): Repare no trecho {hora_atual:02d}. O modificador :02d garante que, se a hora ou o minuto forem menores que 10, o Python adicione um zero à esquerda automaticamente (ex: 09:05 em vez de 9:5).
  • Estrutura condicional limpa: Usamos operadores de comparação encadeados (como 6 <= hora < 12) que tornam a leitura do código muito mais natural e próxima da nossa linguagem humana.

Se você quiser testar cenários específicos no seu Google Colab, basta passar valores fixos para a função para ver como ela se comporta, por exemplo: obter_saudacao(12, 30) retornará "Boa tarde".

Espero que possa ter lhe ajudado!