3

前の質問でごめんなさい。私が答えなければならない質問はこれです:

ボディマス指数(BMI)は、ほとんどの人にとって体の太さの良い指標です。BMIの式は、重量/高さ2です。ここで、重量はキログラム、高さはメートルです。ポンド単位の体重とインチ単位の身長の入力を求め、値をメートル法に変換してから、BMI値を計算して表示するプログラムを作成します。

私がこれまでに持っているのはこれです:

"""
BMI Calculator

1. Obtain weight in pounds and height in inches
2. Convert weight to kilograms and height to meters
3. Calculate BMI with the formula weight/height^2
"""

#prompt user for input from keyboard
weight= input ("How much do you weigh (in pounds)?")
#this get's the person's weight in pounds

weight_in_kg= weight/2.2
#this converts weight to kilograms

height= input ("What is your height (in inches)?")
#this gets the person's height in inches

height_in_meter=height*2.54
#this converts height to meters

bmi=weight_in_kg/(height_in_meters*2)
#this calculates BMI

print (BMI)

私の最初のステップは機能しますが、それは簡単な部分です。Pythonでは等号が何かを割り当てることを知っているので、それが問題であるかどうかはわかりませんが、実際に何をすべきかわかりません。本当にごめん。プログラムを実行すると、次のように表示されます。

TypeError:サポートされていないオペランドタイプ/:'str'および'float'

誰かが私が間違っていることについて何かアドバイスをくれたら、本当にありがたいです。そうでない場合は、お時間をいただきありがとうございます。再度、感謝します。

4

4 に答える 4

4

Python 3.xの場合(指定どおり):

問題は、からのキーボード入力input()がタイプstr(文字列)であり、数値タイプではないことです(ユーザーが数字を入力した場合でも)。ただし、これは次のように入力行を変更することで簡単に修正できます。

weight = float(input("How much do you weigh (in pounds)?"))

height = float(input("What is your height (in inches)?"))

したがって、の文字列出力をinput()数値float型に変換します。

于 2012-11-21T00:39:06.310 に答える
2

まず、タイプミスがありましたheight_in_meter(S)。Python 2の場合、先行float(...する必要はありませんが、それは良い習慣だと確信しています。

"""
BMI Calculator

1. Obtain weight in pounds and height in inches
2. Convert weight to kilograms and height to meters
3. Calculate BMI with the formula weight/height^2
"""

#prompt user for input from keyboard
weight= input ("How much do you weigh (in pounds)?")
#this get's the person's weight in pounds

weight_in_kg= weight/2.2
#this converts weight to kilograms

height= input ("What is your height (in inches)?")
#this gets the person's height in inches

height_in_meter=height*2.54/100
#this converts height to centimeters

bmi=weight_in_kg/(height_in_meter**2)
#this calculates BMI

print (bmi)
于 2013-01-25T23:14:40.313 に答える
0
weight= float(input("How much do you weigh (in kg)?"))
weight_in_kg= float(input("Enter weight in kg?"))


#height= float(input("What is your height (in meters)?"))
height_in_meter= float(input("Enter height in metres?"))


bmi=weight_in_kg/(height_in_meter**2)


print (bmi)

私はこれがそれを機能させる最も簡単な方法であることがわかりました、これが役立つことを願っています

于 2015-07-26T12:12:05.140 に答える
0
# height and weight are available as a regular lists

# Import numpy
import numpy as np

# Create array from height with correct units: np_height_m
np_height_m = np.array(height) * 0.0254

# Create array from weight with correct units: np_weight_kg 
np_weight_kg = np.array(weight) * 0.453592

# Calculate the BMI: bmi
bmi =  np_weight_kg / (np_height_m **2)

# Print out bmi
print(bmi)
于 2016-08-03T11:45:33.173 に答える