定义一个函数后,如何求解其中一个参数?

2024-10-03 04:39:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我对编程很陌生。我在20年8月14日写了我的第一段代码,所以我学习还不到一个月。我这样说是为了让你有耐心,如果我的代码不“漂亮”,我不知道我不知道什么。我已经建立了一个功能,这是一个体重指数计算器。计算BMI后,它会显示BMI编号和一条消息。如果有人被认为超重,我希望它也能为bmi_calc中的“lbs”变量求解。例如,我的目标是将第一个If语句中返回的字符串改为“你需要减去X磅才能达到理想的bmi”。lbs是我想要解算的。我试着用谷歌搜索,但我发现很难进行研究,因为我不知道如何简洁地描述我想要创造的东西。我正在使用Python 3.8。感谢您的帮助

def bmi_calc(inches, lbs):
    kg=lbs*.453592
    meters=inches*.0254
    bmi=kg/meters**2
    round_bmi=round(bmi,2)
    if round_bmi>=30.0:
        return'Your BMI is'+' '+str(round_bmi)+'.'+' '+'This means you are obese. Consider a weight loss strategy.'
    elif 29.90 <=round_bmi >=25.0:
        return('Overweight')
    elif 24.9 <=round_bmi >=18.5:
        return('Healthy Weight')
    elif round_bmi<18.5:
        return('underweight')

print(bmi_calc(70,260))

Tags: 代码功能return编程calcbmielifkg
1条回答
网友
1楼 · 发布于 2024-10-03 04:39:20

虽然这更像是一个数学问题,而不是编程问题,但您可以通过以下方式将代数公式插入到代码中-

def bmi_calc(inches, lbs):
    ideal_bmi = 21.7
    kg=lbs*.453592
    meters=inches*.0254
    bmi=kg/meters**2
    round_bmi=round(bmi,2)

    ideal_weight = (ideal_bmi * (meters**2))/0.453592

    if round_bmi>=30.0:
        return'Your BMI is'+' '+str(round_bmi)+'.'+' '+'This means you are obese. you need to lose ' + str(lbs - ideal_weight) + ' lbs to reach the ideal weight'
    elif 29.90 >=round_bmi >=25.0:
        return('Overweight')
    elif 24.9 >=round_bmi >=18.5:
        return('Healthy Weight')
    elif round_bmi<18.5:
        return('underweight')

print(bmi_calc(70,260))

相关问题 更多 >