Oi, Giovanni. Como vai?
O seu código ficou bem completo e organizado, com funções separadas para titulo(), obter_hora_atual(), escolher_saudacao(), identificacao() e criar_saudacao(). Essa divisão ajuda bastante na leitura, e o uso de datetime.now().hour deixou a saudação dinâmica conforme o horário atual.
Você pode permitir testar a função escolher_saudacao() com horários fixos, sem depender sempre da hora do sistema:
def escolher_saudacao(hora_atual):
if hora_atual < 12:
return "Bom dia!"
elif hora_atual < 18:
return "Boa tarde!"
return "Boa noite!"
print(escolher_saudacao(9))
print(escolher_saudacao(15))
print(escolher_saudacao(21))
Esse código testa a mesma função com diferentes horários e facilita conferir se cada saudação está sendo retornada corretamente. Você pretende criar mais testes para validar outras partes do programa, como a função criar_saudacao()?
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!