Calculateur de masse grasse
Estimez votre pourcentage de masse grasse avec la méthode U.S. Navy.
La calculatrice de graisse corporelle estime votre pourcentage de graisse corporelle en utilisant des méthodes de mesure validées ne nécessitant pas d'équipement coûteux. L'approche la plus courante utilisée ici est la méthode de la Marine américaine, qui utilise les mesures du cou, de la taille et des hanches ainsi que la taille.
Entrez votre sexe, votre taille et les mesures de circonférence requises en centimètres ou en pouces. L'outil calcule votre pourcentage estimé de graisse corporelle et le compare aux plages saines établies par l'American Council on Exercise (ACE).
Le pourcentage de graisse corporelle est considéré comme un meilleur indicateur de forme physique que l'IMC seul, mais il a aussi une marge d'erreur. Des mesures cohérentes dans le temps sont plus précieuses que toute lecture unique.
Questions Fréquentes
Implémentation du Code
import math
def navy_body_fat_male(waist_cm: float, neck_cm: float, height_cm: float) -> float:
"""
US Navy body fat formula for males.
%BF = 86.010 * log10(waist - neck) - 70.041 * log10(height) + 36.76
"""
return 86.010 * math.log10(waist_cm - neck_cm) - 70.041 * math.log10(height_cm) + 36.76
def navy_body_fat_female(waist_cm: float, hip_cm: float, neck_cm: float, height_cm: float) -> float:
"""
US Navy body fat formula for females.
%BF = 163.205 * log10(waist + hip - neck) - 97.684 * log10(height) - 78.387
"""
return 163.205 * math.log10(waist_cm + hip_cm - neck_cm) - 97.684 * math.log10(height_cm) - 78.387
def classify_body_fat_male(bf_percent: float) -> str:
if bf_percent < 6: return "Essential fat"
if bf_percent < 14: return "Athletes"
if bf_percent < 18: return "Fitness"
if bf_percent < 25: return "Acceptable"
return "Obese"
def classify_body_fat_female(bf_percent: float) -> str:
if bf_percent < 14: return "Essential fat"
if bf_percent < 21: return "Athletes"
if bf_percent < 25: return "Fitness"
if bf_percent < 32: return "Acceptable"
return "Obese"
# Male example
waist, neck, height = 85.0, 37.5, 178.0
bf_male = navy_body_fat_male(waist, neck, height)
print(f"Male example: waist={waist}cm, neck={neck}cm, height={height}cm")
print(f" Body fat: {bf_male:.1f}% ({classify_body_fat_male(bf_male)})")
# Female example
waist_f, hip_f, neck_f, height_f = 72.0, 95.0, 33.5, 165.0
bf_female = navy_body_fat_female(waist_f, hip_f, neck_f, height_f)
print(f"\nFemale example: waist={waist_f}cm, hip={hip_f}cm, neck={neck_f}cm, height={height_f}cm")
print(f" Body fat: {bf_female:.1f}% ({classify_body_fat_female(bf_female)})")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.