我正在尝试用名为st_jeor的函数编写一个带有文件名的bmr.py,如果给出(质量,身高,年龄,性别),则返回Mifflin St Jeor估计的基础代谢率,估计消耗的卡路里让身体保持活力。假设质量以千克为单位,高度以厘米为单位,年龄以年为单位,性别为男性"或者"女性"。
如果性别是"男性" S是+5。和-161如果是"女性&#34 ;; m,h和a分别代表质量,身高和年龄。以下是我的开始:
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
任何人都有关于我应该走哪条路线的建议?我想我自己很困惑。
答案 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