为上面所写代码增加性别内容
时间: 2024-02-22 19:57:41 浏览: 14
好的,以下是增加性别内容的Python代码:
```python
try:
weight = float(input("请输入您的体重(kg):"))
height = float(input("请输入您的身高(cm):"))
age = float(input("请输入您的年龄:"))
gender = input("请输入您的性别(男/女):")
# 判断输入数据的合法性
if weight <= 0 or height <= 0 or age <= 0:
raise ValueError("体重、身高和年龄必须大于0!")
if gender != "男" and gender != "女":
raise ValueError("性别输入错误!")
# 根据性别计算BMR公式
if gender == "男":
bmr = 66 + (13.7 * weight) + (5 * height) - (6.8 * age)
else:
bmr = 655 + (9.6 * weight) + (1.8 * height) - (4.7 * age)
print("您的BMR值为:%.2f" % bmr)
except ValueError as e:
print("输入错误,请重新输入!Error message: ", e)
except Exception as e:
print("程序出现异常,请联系管理员!Error message: ", e)
finally:
print("程序结束")
```
优化记录:
1. 增加了输入性别的代码,根据性别计算BMR公式。
2. 优化了输入数据的判断逻辑,判断性别是否输入正确。
3. 优化了BMR计算公式,使用了根据性别不同而不同的公式。
4. 保留了小数点后两位输出BMR结果。