1
resposta

[Projeto] Faça como eu fiz: saudação personalizada

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

def saudacao_hora(x):
  if x < 12:
    print("Bom dia!")
  elif 12 <= x < 18:
    print("Boa tarde!")
  else:
    print("Boa noite!")

saudacao_hora(hora_atual)

Poderiam me ajuda em como eu poderia refatorar esse código para fazer uma distribuição de responsabilidades , pois acredito que a lógica desse jeito fica muito condesada na função que deveria somente identificar os horarios e outra ter a decisao de mostrar em tela a saudação kkkkk , nao sei direito

1 resposta

Oi, Bruno! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

A sua lógica tá correta e cumpre bem a proposta. Um ponto interessante é retornar a saudação na função, como mostrado na solução do curso, em vez de usar print dentro dela.

Assim você separa a responsabilidade de calcular da responsabilidade de exibir, deixando o código mais organizado.


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

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

Esse código calcula a saudação com return e só depois imprime, permitindo reutilizar a função em outros contextos.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!