0

我正在尝试使用 Python 计算 BMI(身体质量指数),用户输入他们的身高和体重。用户输入高度为 5'8" 或 6" 或 6'1" 应转换为英尺,如 5'8" 应转换为 5.667。到目前为止,这是我的代码。

#!/usr/bin/python3.2

W = input("Enter weight:") 
H = input("Enter height:")

W = int(W)

BMI = 703*W/H**2

print(BMI)

我的问题是如何将输入的 5'8" 转换为 5.667 并进行计算?提前致谢。

4

2 回答 2

2

我想你误解了你的功课,你需要把英尺和英寸换算成英寸。5'8" 应该在你的公式中变为 68。这就是你想要做的(虽然不做任何格式检查,假设 xx'yy"):

H_feet = H.split("'")[0]
H_inch = H.split("'")[1].split("\"")[0]

H_inches = int(H_feet) * 12 + int(H_inch)

BMI = 703*W/H**2

print(BMI)
于 2012-09-25T06:31:17.470 回答
1
import re

# convert feet'inch" to decimal feet
def decimalize_feet(s):
    m = re.match(r'^(\d+)\'(\d+)\"$', s)
    if m:
        return float(m.group(1)) + float(m.group(2)) / 12.
    else:
        return None
        # or handle invalid inputs otherwise
于 2012-09-25T06:31:06.190 回答