Olá, Fabiana. Como vai?
Parabéns por praticar e ir além do proposto na atividade! É excelente ver que você teve a iniciativa de experimentar e adicionar uma lógica para capturar um valor booleano (True ou False) usando a função input().
O uso dos tipos de dados para texto (String), números inteiros (int) e números decimais (float) ficou perfeito e os comandos print com f-strings foram aplicados corretamente.
No entanto, há um comportamento nativo e bem curioso do Python no trecho em que você validou o peso com a função bool() que vale a pena analisarmos juntos.
O comportamento do bool(input(...)) no Python
Do jeito que o código foi escrito:
peso = bool(input('Vc está nos parametros ideiais de peso ? '))
O Python pode induzir a gente ao erro. O que acontece na verdade é que a função bool() no Python avalia qualquer texto preenchido (qualquer String que não esteja vazia) como True.
Isso significa que se o usuário rodar o seu programa e digitar a palavra "Não", a palavra "False", ou até mesmo digitar letras aleatórias, o Python vai transformar isso no valor booleano True de qualquer forma, porque o texto não está vazio! O único cenário onde o bool() daria False nesse código seria se o usuário simplesmente apertasse a tecla Enter sem digitar absolutamente nada.
Como ajustar isso na prática?
Para capturar uma resposta de sim ou não e transformá-la em um booleano real de forma segura, o ideal é capturar o texto do usuário primeiro e depois fazer uma comparação. Veja esta sugestão de boa prática:
# Captura a resposta apenas como texto e remove espaços extras
resposta = input('Vc está nos parametros ideiais de peso? (Sim/Não): ').strip().lower()
# Faz a comparação lógica: se a resposta for 'sim', guarda True. Se for qualquer outra coisa, guarda False.
peso = (resposta == 'sim')
# No print final, você pode usar uma condicional simples para deixar a mensagem mais bonita e natural
status_peso = "verdade" if peso else "uma pena"
print(f'Olá, {nome}, você tem {idade} anos, mede {altura}m, e que bom que é {status_peso} que você está nos parâmetros ideais.')
Dessa forma, o seu programa ganha inteligência e passa a validar o que o usuário realmente digitou, evitando que a palavra "Não" seja interpretada como um valor verdadeiro pelo sistema.
Muito legal ver a sua evolução e curiosidade testando os tipos de dados do Python. Continue explorando essas funções!
Espero que possa ter lhe ajudado!