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, Eryck! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.
É isso aí! Gostei do while True, da validação para valores negativos e do uso de f-string "{imc:.2f}".
Uma dica interessante para o futuro é aceitar números com vírgula usando replace antes do float. Veja este exemplo:
# aceita virgula como separador decimal no input
texto = input("Digite um numero decimal: ")
valor = float(texto.replace(",", "."))
print(valor)
Esse trecho converte "70,5" em "70.5" e depois em número float.
Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!