【发布时间】:2020-11-12 11:51:32
【问题描述】:
#a bmi converter
a = input("What is your mass unit,type'kg'or'lb' : ")
ax = float(input("enter mass"))
b = input("What is your height unit,type'ft'or'cm' : ")
bx = float(input("enter height"))
if a == "lb":
ax=ax*0.453592
elif a == "kg":
ax=ax
else:
print("invalid input")
if b == "ft":
bx=bx*30.48
elif b == "cm":
bx=bx*0.01
else:
print("invalid input")
bmi = ax/(bx**2)
w=int
if bmi <18.5:
w="underweight"
elif bmi==range(18.5,24.9):
w="normal weight"
elif bmi==range(25,29.9):
w="overweight"
elif bmi>30:
w="obese"
print ("your bmi is",bmi,w)
这给出了以下错误:
TypeError: 'float' object cannot be interpreted as an integer
所以我需要小数范围
但它不接受 int 值
【问题讨论】:
-
注意:“十进制”是以 10 为底的表示形式。在您的代码中,您拥有的唯一十进制数是输入字符串。在内部,您有二进制(基数 2)表示。顺便说一句:下次请提取minimal reproducible example,上面的大部分代码都不需要证明问题。作为新用户,也可以使用tour 并阅读How to Ask。
-
bmi不能等于一个范围,而是包含在一个范围内。
标签: python python-3.x python-2.7