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!

2
respostas

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

#Saudações conforme o horário

def saudacao(horas):
  if horas < 12:
    return "Bom dia."
  if horas < 18:
    return "Boa tarde."
  else:
    return "Boa noite."
hora = int(input("Informe a hora atual (0-23): "))
print(saudacao(hora))

Output
Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

Olá, estudante. Tudo bem com você?

Você construiu uma ótima resolução para o desafio da saudação personalizada proposto nesta atividade. A lógica na sua estrutura de condicionais funciona perfeitamente para classificar os períodos do dia de acordo com os limites estabelecidos. O uso de funções com retornos diretos limpa bastante o fluxo do programa, pois dispensa a necessidade de blocos complexos após encontrar a condição verdadeira.

Uma dica legal para complementar o seu aprendizado envolve a validação dos dados que o usuário envia para o sistema de atendimento. Se alguém digitar um número negativo ou um valor maior do que vinte e três, a função ainda processará a informação de maneira inesperada, retornando bom dia ou boa noite indevidamente.

Pensando nisso, como você estruturaria uma verificação antes de chamar a função para impedir que valores fora do intervalo de zero a vinte e três sejam processados pelo seu script?

Parabéns pelo empenho no desenvolvimento do algoritmo e muito obrigado por compartilhar o seu progresso na nossa comunidade. Continue compartilhando suas soluções e saiba que o fórum continua inteiramente à sua disposição para interações futuras.

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

Olá, inseri uma validação da hora:

if hora < 0 or hora > 23:
print("Erro: hora inválida. Digite um valor entre 0 e 23.")

# Saudações conforme o horário - rev

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

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

if hora < 0 or hora > 23:
    print("Erro: hora inválida. Digite um valor entre 0 e 23.")
else:
    print(saudacao(hora))