Saudação segundo a hora do dia e considerando minutos.
Madrugada, dia, tarde, noite...
https://colab.research.google.com/drive/1E18uutRR7gRYdTfgUTShaMa6J_haNOq0?usp=sharing
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!
Saudação segundo a hora do dia e considerando minutos.
Madrugada, dia, tarde, noite...
https://colab.research.google.com/drive/1E18uutRR7gRYdTfgUTShaMa6J_haNOq0?usp=sharing
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}.")
def): Isolamos a lógica da saudação dentro de uma função. Isso deixa seu código limpo, organizado e reutilizável.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).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!