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 に答える