Python TypeError:&;的操作数类型不受支持:';浮动';和';浮动';
我写了这个简单的程序来计算一个人的体重指数。但我无法完成它。下面是我的节目, 节目Python TypeError:&;的操作数类型不受支持:';浮动';和';浮动';,python,syntax,syntax-error,Python,Syntax,Syntax Error,我写了这个简单的程序来计算一个人的体重指数。但我无法完成它。下面是我的节目, 节目 h = input("Please Enter your height in meters:") q = raw_input("Do you want to enter your weight in kg or lbs?") if q=="kg": w1 = input("Please Enter your weight in kgs:") bmi1 = w1/(h*h)
h = input("Please Enter your height in meters:")
q = raw_input("Do you want to enter your weight in kg or lbs?")
if q=="kg":
w1 = input("Please Enter your weight in kgs:")
bmi1 = w1/(h*h)
print "Your BMI is", bmi1
if bmi1 <= 18.5:
print "Your are underweight."
if bmi1 > 18.5 & bmi1 < 24.9:
print "Your weight is normal."
if bmi1 > 25 & bmi1 < 29.9:
print "Your are overweight"
if bmi1 >= 30:
print "Your are obese"
if q=="lbs":
w2 = input("Please Enter your weightin lbs:")
bmi2 = w2/((h*h)*(39.37*39.37)*703)
print "Your BMI is:", bmi2
if bmi2<= 18.5:
print "Your are underweight."
if bmi2>18.5 & bmi2<24.9:
print "Your weight is normal."
if bmi2>25 & bmi2<29.9:
print "Your are overweight"
if bmi2>=30:
print "Your are obese"
h=input(“请以米为单位输入您的身高:”)
q=原始输入(“您想以千克或磅为单位输入您的体重吗?”)
如果q=“kg”:
w1=输入(“请以千克为单位输入您的体重:”)
bmi1=w1/(h*h)
打印“您的BMI为”,bmi1
如果bmi1 18.5和bmi1<24.9:
打印“你的体重正常。”
如果bmi1>25且bmi1<29.9:
打印“您的体重超标”
如果bmi1>=30:
打印“你的肥胖”
如果q==“磅”:
w2=输入(“请以磅为单位输入您的重量:”)
bmi2=w2/((高*高)*(39.37*39.37)*703)
打印“您的体重指数为:”,bmi2
如果bmi218.5&bmi225&bmi2=30:
打印“你的肥胖”
输出
Please Enter your height in meters:1.52
Do you want to enter your weight in kg or lbs?kg
Please Enter your weight in kgs:51
Your BMI is 22.074099723
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "bmi.py", line 11, in <module>
if bmi1 > 18.5 & bmi1 < 24.9:
TypeError: unsupported operand type(s) for &: 'float' and 'float'
请以米为单位输入您的身高:1.52
你想输入你的体重单位是千克还是磅?千克
请以千克为单位输入您的体重:51
您的体重指数为22.074099723
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“bmi.py”,第11行,在
如果bmi1>18.5&bmi1<24.9:
TypeError:&:“float”和“float”的操作数类型不受支持
我哪里做错了?任何人只要告诉我
谢谢:)。是一个,我想你在找布尔值
但请注意,Python还支持以下语法:
if 18.5 < bmi1 < 24.9:
# ...
如果18.5
因为您似乎已经尝试了缩进,所以您的脚本可能是这样的:
h = raw_input("Please enter your height in meters: ")
h = float(h)
w_unit = raw_input("Do you want to enter your weight in kg or lbs? ")
w = raw_input("Please enter your weight in {}: ".format(w_unit))
w = int(w)
if w_unit == "kg":
bmi = w / (h*h)
elif w_unit == "lbs":
bmi = w / ((h*h) * (39.37 * 39.37) * 703)
print "Your BMI is {:.2f}".format(bmi)
if bmi <= 18.5:
print "Your are underweight."
elif 18.5 < bmi <= 25:
print "Your weight is normal."
elif 25 < bmi < 30:
print "Your are overweight"
elif bmi >= 30:
print "Your are obese"
h=原始输入(“请以米为单位输入您的身高:”)
h=浮动(h)
w_单位=原始输入(“您想以千克或磅为单位输入您的体重吗?”)
w=原始输入(“请以{}:”.格式输入您的重量(w单位))
w=int(w)
如果w_单位=“kg”:
体重指数=w/(h*h)
elif w_单位==“磅”:
体重指数=w/((高*高)*(39.37*39.37)*703)
打印“您的BMI为:{.2f}”。格式(BMI)
如果bmi好的话,我以前试过上面的语法,但是我想我没有正确地缩进代码。关于python的缩进细节,是否有任何参考资料可以帮助我。@user1345589:我不知道具体的源代码,我必须像你一样用谷歌搜索它。总之,要点是每个块缩进四个空格。您可以遵循官方的编码风格指南:。@user1345589:因为您似乎感兴趣,所以我编辑了我的答案,以向您展示您的程序可能会是什么样子:)如果您想查看工作代码,您可以找到很好的建议。我期待得到这个答案:)