题目要求挨个求出bmi
def f(m,n):
BMI = round(n/m**2,2)
if BMI < 18.5:
print("BMI的值为{},属于偏瘦的类型".format(BMI))
elif 18.5 <= BMI < 24:
print("BMI的值为{},属于正常的类型".format(BMI))
elif 24 <= BMI < 28:
print("BMI的值为{},属于偏胖的类型".format(BMI))
else:
print("BMI的值为{},属于肥胖的类型".format(BMI))
count = 0
print("请输入人员信息,身高为0时结束。")
while True:
count += 1
m = eval(input("请输入第{}位的身高(米):").format(count))
if m == 0:
break
n = eval(input("请输入第{}位的体重(公斤):").format(count))
f(m,n)
类似这样
def f(m, n):
BMI = round(n/m**2,2)
if BMI < 18.5:
print("BMI的值为{},属于偏瘦的类型".format(BMI))
elif 18.5 <= BMI < 24:
print("BMI的值为{},属于正常的类型".format(BMI))
elif 24 <= BMI < 28:
print("BMI的值为{},属于偏胖的类型".format(BMI))
else:
print("BMI的值为{},属于肥胖的类型".format(BMI))
count = 0
print("请输入人员信息,身高为0时结束。")
while (1):
count+=1
m = eval(input("请输入第{}位的身高(米):".format(count)))
n = eval(input("请输入第{}位的体重(公斤):".format(count)))
if m == 0:
break
f(m,n)
参数输入放whie循环里面
4行改成while m!= 0:
然后5~8行删掉,改一下剩下的缩进。
第四行前面插一个global count
count = 0
print("请输入人员信息,身高为0时结束。")
while True:
count += 1
m = eval(input("请输入第{}位的身高(米):").format(count))
if m == 0:
break
else:
n = eval(input("请输入第{}位的体重(公斤):").format(count))
BMI = round(n/m**2,2)
if BMI < 18.5:
print("BMI的值为{},属于偏瘦的类型".format(BMI))
elif 18.5 <= BMI < 24:
print("BMI的值为{},属于正常的类型".format(BMI))
elif 24 <= BMI < 28:
print("BMI的值为{},属于偏胖的类型".format(BMI))
else:
print("BMI的值为{},属于肥胖的类型".format(BMI))
稍微改了下