python:计算身高体重指数bmi
本帖最后由 zjg121 于 2024-4-17 15:07 编辑输入身高和体重,可以得到bmi。
def bmi(score):
if score >= 32:
return '严重肥胖'
elif score >= 28:
return '肥胖'
elif score >= 25:
return '过重'
elif score >= 18.5:
return '正常'
elif score >= 15:
return '过轻'
else:
return '严重过轻'
# 测试示例
sg = input('请输入身高(米):')
tz = input('请输入体重(千克):')
score = float(tz) / float(sg) / float(sg)
print(f'根据您的身高({sg}m)和体重({tz}kg)可得身高体重指数bmi为:{score:.2f},等级为:{bmi(score)}')# 输出
https://static.52pojie.cn/static/image/hrline/4.gif
height = float(input('请输入身高(米): '))
weight = float(input('请输入体重(千克): '))
bmi = weight / (height ** 2)
bz =
ms = ['严重过轻', '过轻', '正常', '过重', '肥胖', '严重肥胖']
for i in bz:
if bmi < i: a = '您的BMI指数为%.1f, 属于%s' % (bmi, ms)
if a:
print(a)
else:
print('您的BMI指数为%.1f, 属于%s' % (bmi, ms[-1]))
还可以出一个字典的版本,加油! 本帖最后由 wjbg2022 于 2024-4-17 11:42 编辑
height = float(input('请输入身高(米): '))
weight = float(input('请输入体重(千克): '))
bmi = weight / (height ** 2)
bmi_status = {
(0, 15.5): '严重过轻',
(15.5, 18.5): '过轻',
(18.5, 25): '正常',
(25, 28): '过重',
(28, 32): '肥胖',
(32, float('inf')): '严重肥胖'
}
for (lower, upper), status in bmi_status.items():
if lower <= bmi < upper:
print('您的BMI指数为%.1f, 属于%s' % (bmi, status))
break
else:
print('您的BMI指数为%.1f, 属于严重肥胖' % bmi)
谢谢啦。学python的教程又多了一个案例 wjbg2022 发表于 2024-4-17 11:40
height = float(input('请输入身高(米): '))
weight = float(input('请输入体 ...
这个解包写法很简洁,赞{:1_921:} height = float(input('请输入身高(cm): '))
weight = float(input('请输入体重(kg): '))
bmi = weight / (height ** 2)*10000
bmi_status = {
(0, 15.5): '严重过轻',
(15.5, 18.5): '过轻',
(18.5, 25): '正常',
(25, 28): '过重',
(28, 32): '肥胖',
(32, float('inf')): '严重肥胖'
}
for (lower, upper), status in bmi_status.items():
if lower <= bmi < upper:
print('您的BMI指数为%.1f, 属于%s' % (bmi, status))
break
else:
print('您的BMI指数为%.1f, 属于严重肥胖' % bmi)
给你把代码优化了下。你这个输入身高是米确实不太符合习惯 学习了,新的知识又增加了 翻译了个js版本,我的体重竟然是严重过轻。。const height = parseFloat(prompt('请输入身高(米): '));
const weight = parseFloat(prompt('请输入体重(千克): '));
const bmi = weight / (height ** 2);
const bz = ;
const ms = ['严重过轻', '过轻', '正常', '过重', '肥胖', '严重肥胖'];
let a;
for (let i of bz) {
if (bmi < i) {
a = `您的BMI指数为${bmi.toFixed(1)}, 属于${ms}`;
break;
}
}
if (a) {
console.log(a);
} else {
console.log(`您的BMI指数为${bmi.toFixed(1)}, 属于${ms}`);
} 谢谢楼主分享 果然还是Python语言简洁
页:
[1]
2