使用多个函数来模仿公式?

时间:2018-02-14 22:29:11

标签: python function variables

我正在尝试用名为st_jeor的函数编写一个带有文件名的bmr.py,如果给出(质量,身高,年龄,性别),则返回Mifflin St Jeor估计的基础代谢率,估计消耗的卡路里让身体保持活力。假设质量以千克为单位,高度以厘米为单位,年龄以年为单位,性别为男性"或者"女性"。

如果性别是"男性" S是+5。和-161如果是"女性&#34 ;; m,h和a分别代表质量,身高和年龄。enter image description here

以下是我的开始:

def st_jeor(mass, height, age, sex):
    global mass
    global height
    global age
    mass = (10.00*mass/1
    height =
    age =

    def sex(s):
        if sex == 'male':
            return 5
        else:
            return -161

任何人都有关于我应该走哪条路线的建议?我想我自己很困惑。

1 个答案:

答案 0 :(得分:2)

首先,您定义了函数st_jeor,它使用必要的参数来使用此公式。没关系。
在这种情况下,您不必使用global
如果使用正确的单位传递参数,则无需转换参数。

您只需使用给定的参数编写公式。

def st_jeor(mass, height, age, sex):
    # it's better to use ternary operator in this case
    sex = 5 if sex == 'male' else -161
    # just put given parameters and calculate result
    p = 10 * mass + 6.25 * height - 5.0 * age + sex
    return p

三元运营商

sex = 5 if sex == 'male' else -161

相当于

if sex == 'male':
    sex = 5
else:
    sex = -161