1
resposta

Temperatura dos servidores

Lucas trabalha em TI e precisa garantir que a temperatura de uma sala de servidores não ultrapasse 25°C. Ele quer um programa que receba a temperatura atual como entrada e, se necessário, exiba uma mensagem de alerta.

Saída esperada:

  • Digite a temperatura atual: 30
  • Alerta! Temperatura acima do limite permitido.
while True:
    temperatura = float(input("Digite a temperatura atual: "))

    if temperatura > 25:
        print("Alerta! Temperatura acima do limite permitido. Ajuste o sistema.")
    else:
        print("Temperatura dentro do limite de segurança.")
        print("Programa finalizado.")
        break
        
Digite a temperatura atual: 26
Alerta! Temperatura acima do limite permitido. Ajuste o sistema.
Digite a temperatura atual: 25
Temperatura dentro do limite de segurança.
Programa finalizado.
1 resposta

Olá, Andressa. Como vai?

O seu código está muito bem estruturado e a lógica do uso do laço while com as condicionais if e else funciona perfeitamente para o que foi proposto. Você conseguiu criar um sistema dinâmico que continua monitorando a temperatura até que uma condição de segurança seja atendida e o programa seja encerrado com o break.

Para agregar ainda mais valor ao seu aprendizado e deixar o seu código mais alinhado com a saída esperada da atividade, podemos fazer pequenos ajustes de boas práticas:

  • Mensagem de Alerta exata: A atividade pede especificamente a frase "Alerta! Temperatura acima do limite permitido.". No seu código, você adicionou "Ajuste o sistema." ao final. Caso a plataforma de correção da Alura faça uma validação estrita do texto, isso pode acusar um erro.
  • Critério de parada: Do jeito que o código está escrito, ele só finaliza se a temperatura for menor ou igual a 25°C. Em um cenário real de sala de servidores, o monitoramento costuma ser contínuo (ou seja, o programa não deveria parar quando a temperatura estivesse boa, mas sim continuar rodando). Contudo, para o escopo desse exercício onde há um critério de parada, a lógica do break no else atende bem.

Se quisermos criar uma versão que siga exatamente a saída textual esperada e trate a condicional de forma direta, podemos estruturar o código sem o laço de repetição (caso a atividade peça apenas uma execução única), ou manter o laço ajustando os textos.

Veja um exemplo de como adequar o código para retornar exatamente o que a atividade solicita em uma única verificação:

temperatura = float(input("Digite a temperatura atual: "))

if temperatura > 25:
    print("Alerta! Temperatura acima do limite permitido.")

Caso o objetivo do exercício seja realmente utilizar o laço while para repetir a pergunta até que a temperatura normalize, o ajuste ideal no seu código seria apenas a remoção do texto extra:

while True:
    temperatura = float(input("Digite a temperatura atual: "))

    if temperatura > 25:
        print("Alerta! Temperatura acima do limite permitido.")
    else:
        print("Temperatura dentro do limite de segurança.")
        print("Programa finalizado.")
        break

Uma dica de boa prática em Python é extrair o valor do limite para uma variável (ou constante), como LIMITE_TEMPERATURA = 25. Isso facilita a manutenção do código caso o limite mude no futuro, evitando que você precise caçar o número 25 no meio das condicionais.

Espero que possa ter lhe ajudado!