Olá, Cauan. Como vai?
Parabéns pela resolução! O seu código está muito bem estruturado e você utilizou conceitos fundamentais de forma muito inteligente, como o cálculo da diferença para dar um feedback mais preciso ao usuário.
Gostaria de destacar alguns pontos técnicos excelentes na sua solução e uma pequena correção que fará seu programa funcionar perfeitamente:
- Cálculo de Diferença: Calcular o quanto a temperatura excedeu ou baixou do limite (
diferenca_quente e diferenca_fria) agrega muito valor à experiência do usuário, pois não diz apenas que está errado, mas o "quanto" está errado. - Estrutura de Repetição: O uso do
while True com o break é a forma ideal de criar um menu interativo que permite múltiplas verificações sem precisar reiniciar o script manualmente. - Uso do elif: Você utilizou corretamente o
elif. Como uma temperatura não pode ser maior que 30 e menor que 15 ao mesmo tempo, as condições são mutuamente exclusivas, e o elif garante que o computador não faça verificações desnecessárias.
Pequeno ajuste técnico:
Notei que na linha onde você captura a verificacao, você utilizou .upper, mas esqueceu dos parênteses. No Python, upper é um método (uma função), então precisamos "chamá-lo" usando (). Sem os parênteses, a comparação if verificacao == 'N' nunca será verdadeira porque a variável guardará a referência da função e não o texto convertido.
O trecho corrigido ficaria assim:
verificacao = input('Deseja verificar novamente ? (S/N)').upper()
Sugestão de melhoria (Valor Absoluto):
No caso da diferenca_fria, se a temperatura for 10, o resultado será 10 - 15 = -5. O print mostrará "Temperatura está -5° abaixo". Para evitar o sinal de menos e exibir um valor mais natural, você pode usar a função abs() (valor absoluto):
elif temperatura < limite_frio:
diferenca_fria = abs(temperatura - limite_frio)
print(f'ALERTA ! Temperatura está {diferenca_fria}° abaixo do permitido !!')
Continue com essa excelente lógica de programação. Criar scripts que interagem com o usuário e tratam dados variáveis é um passo essencial na jornada de um desenvolvedor Python!
Espero que possa ter lhe ajudado!