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!
Oi, Cauan! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.
Você estruturou bem o uso do if e else, mas há um detalhe importante na lógica da condição que pode causar erro.
Na linha if 8.0 <= hora_atual >= 18, o Python não interpreta isso como "entre 8 e 18". Essa expressão verifica se hora_atual é maior ou igual a 18 e ignora a parte do 8.0 <=. Para verificar um intervalo corretamente, você deve usar if 8.0 <= hora_atual <= 18. Isso sim testa se o valor está entre dois limites.
Uma dica interessante para o futuro é usar o método isdigit() ao trabalhar com strings que devem ser números.
Veja este exemplo:
entrada = input("Digite um número: ")
if entrada.isdigit():
numero = int(entrada)
print("Número válido:", numero)
else:
print("Valor inválido")
Esse código evita erros ao tentar converter uma string inválida em número.