基础代谢率

BMR(男) = (13.7*体重(kg))+(5.0*身高(cm))-(6.8*年龄)+ 66
BMR(女) = (9.6*体重(kg))+(1.8*身高(公分))-(4.7*年龄)+ 655
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def main():
gender = input("请输入性别:");
weight = eval(input("请输入体重(kg):"));

height = eval(input("请输入身高(cm):"));
age = eval(input("请输入年龄:"));

if gender == "男":
bmr = (13.7*weight) + (5.0*height) - (6.8*age) + 66
elif gender == "女":
bmr = (9.6*weight) + (1.8*height) - (4.7*age) + 655
else:
bmr = -1

if bmr!=-1:
print("BMR 基础代谢率:", bmr)
else:
print("不支持该性别计算!")

if __name__ == "__main__":
main()

综合示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
def main():
quit = input("是否退出y/n:")

while quit != "y":

print("请输入以下信息,用空格分割")
param = input("性别 体重(kg) 身高(cm) 年龄:")

params = param.split(" ")

try:
gender = params[0]
weight = float(params[1])
height = float(params[2])
age = int(params[3])

if gender == "男":
bmr = (13.7*weight) + (5.0*height) - (6.8*age) + 66
elif gender == "女":
bmr = (9.6*weight) + (1.8*height) - (4.7*age) + 655
else:
bmr = -1

if bmr!=-1:
print("您的性别:{},体重:{} kg,身高:{} cm,年龄:{},岁。".format(gender, weight, height, age))
print("BMR 基础代谢率:{} 大卡".format(bmr))
else:
print("不支持该性别计算!")
except ValueError:
print("请输入正确的信息!")
except IndexError:
print("输入信息参数不足!")
except:
print("程序异常!");

quit = input("是否退出y/n:")

if __name__ == "__main__":
main()

字符串分割

1
2
str = "男 75 180 26"
strs = str.split(" ")

数据类型

1
2
3
4
5
6
#数据类型转化
a = float("3242.25")
b = int("234")
#获取数据类型
type(a)
type(b)

字符串格式化

1
2
3
4
5
6
"您的性别:{},体重:{} kg,身高:{} cm,年龄:{},岁。".format(gender, weight, height, age)
"您的基础代谢率:{} 大卡".format(bmr)


"格式化顺序:{0} {2} {1} {0}".format(5, 10, 15)
# -> 5 15 10 5

异常处理

1
2
3
4
5
6
7
8
try:
#代码段
except ValueError:
print("错误信息")
except IndexError:
print("错误信息")
except:
print("错误信息")