1
resposta

Faça como eu fiz: saudação personalizada

def saudacao(hora_atual):
    if hora_atual < 12:
        return "Bom dia"
    elif hora_atual < 18:
        return "Boa tarde"
    else:
        return "Boa noite"

hora_atual = int(input("Digite o hora atual (0-23): "))
print(saudacao(hora_atual))
1 resposta

Olá, Esdras. Como vai?

Parabéns pela resolução do desafio! O seu código ficou excelente, muito limpo e estruturado de forma super lógica.

A escolha de usar uma estrutura condicional com if, elif e else dentro da função foi perfeita para dividir o dia nos três períodos principais de saudação. Além disso, encapsular essa lógica em uma função é uma excelente prática, pois permite que você reutilize esse bloco em qualquer outra parte do seu programa.

Para complementar a sua solução e trazer duas ideias bem legais do que você pode explorar a partir de agora em Python, veja essas sugestões de boas práticas:

1. Lidando com entradas inválidas (Validação de Dados)

Do jeito que o código está estruturado hoje, se um usuário digitar por engano um número negativo (como -5) ou um número muito alto (como 30), o programa ainda vai rodar. Ele dirá "Bom dia" para -5 e "Boa noite" para 30.

Para tornar o seu código mais seguro contra erros de digitação, uma boa prática é validar o número digitado antes ou dentro da função. Veja como podemos adicionar essa camada de proteção:

def saudacao(hora_atual):
    # Verifica se a hora está fora do intervalo real de um dia
    if hora_atual < 0 or hora_atual > 23:
        return "Hora inválida! Por favor, digite um valor entre 0 e 23."
    
    if hora_atual < 12:
        return "Bom dia"
    elif hora_atual < 18:
        return "Boa tarde"
    else:
        return "Boa noite"

hora_atual = int(input("Digite a hora atual (0-23): "))
print(saudacao(hora_atual))

2. Automatizando a hora com a biblioteca datetime

Quer deixar esse projeto ainda mais avançado? Em sistemas reais, nós raramente pedimos para o usuário digitar que horas são apenas para dar um bom dia. O próprio sistema pode descobrir o horário do computador!

Você pode usar uma biblioteca nativa do Python chamada datetime para fazer isso de forma 100% automática. Olhe que interessante:

from datetime import datetime

def saudacao(hora_atual):
    if hora_atual < 12:
        return "Bom dia"
    elif hora_atual < 18:
        return "Boa tarde"
    else:
        return "Boa noite"

# Pega automaticamente a hora atual do sistema operacional
hora_sistema = datetime.now().hour

print(f"Agora são {hora_sistema} horas.")
print(saudacao(hora_sistema))

Dessa forma, o programa roda sozinho sem que ninguém precise digitar nada no terminal.

Continue praticando as funções e compartilhando sua evolução com a gente aqui no fórum!

Espero que possa ter lhe ajudado!