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!