Solucionado (ver solução)

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!

Solucionado
(ver solução)
1
resposta

[Projeto] Faça como eu fiz: saudação personalizada | Praticando Python: funções

Nesta atividade, desenvolvi uma função chamada saudacao() que recebe a hora atual como parâmetro e retorna uma mensagem adequada ao período do dia. Utilizei a estrutura condicional if, elif e else para verificar se a hora informada corresponde à manhã, tarde ou noite. Em seguida, solicitei ao usuário que digitasse a hora atual e exibi a saudação retornada pela função.

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))

Como funciona?

  • if hora < 12 → se a hora for menor que 12, retorna "Bom dia!".
  • elif hora < 18 → se a hora estiver entre 12 e 17, retorna "Boa tarde!".
  • else → para horários a partir de 18, retorna "Boa noite!".

Exemplo de execução

Entrada:

Digite a hora atual (0-23): 15

Saída:

Boa tarde!

Essa atividade me ajudou a compreender melhor o uso de funções e estruturas condicionais em Python, tornando o código mais organizado e fácil de reutilizar.

1 resposta
solução!

Oi, estudante. Tudo bem com você?

A construção da lógica condicional utilizando as instruções if, elif e else foi feita de maneira muito inteligente, pois aproveita a ordem sequencial das verificações numéricas para simplificar os testes de intervalos de tempo sem a necessidade de operadores lógicos complexos. A transformação do dado inserido para o tipo inteiro também garante a perfeita execução do programa.

Uma dica interessante consiste em adicionar uma camada de validação para impedir que o usuário insira valores inconsistentes com o formato de tempo diário. Como exemplo de tratamento preventivo de falhas, você pode criar uma restrição simples inserindo um bloco condicional extra no início da função, digitando if hora < 0 or hora > 23: return "Hora inválida", o que protege a integridade das saudações contra números fora da realidade do relógio.

De que maneira você acha que a inclusão dessa validação de limite numérico contribui para a estabilidade do sistema ao lidar com entradas imprevistas de usuários?

Parabéns pelo excelente desempenho na atividade, o fórum continua totalmente à disposição para suas futuras interações.

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