Python入门案例(三):BMR(基础代谢率)计算器

浏览: 2339

一、BMR计算器V1.0

主要知识点:

  • 常用的数值类型:整数、浮点数、字符串
  • 数值运算
# -*- coding:utf-8 -*-
"""
@author:Angel
@file:bmr_V1.0.py
@time:2018/11/15 15:12
@1.0功能:BMR计算器
"""


def main():

# 性别
gender = '男'

# 身高(CM)
height = 170

# 体重(KG)
weight = 50

# 年龄
age = 25

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)
else:
print('暂不支持该性别')


if __name__ == '__main__':
main()


二、BMR计算器V2.0

主要知识点:

  • 分支语句if else
  • while循环
  • input()函数
# -*- coding:utf-8 -*-
"""
@author:Angel
@file:bmr_V2.0.py
@time:2018/11/15 15:12
@1.0功能:BMR计算器
@2.0功能:根据用户输入计算BMR,程序持续运行
"""


def main():

y_or_n = input('是否退出程序(y/n)?')

while y_or_n != 'y':

# 性别
gender = input('性别:')

# 身高(CM)
height = float(input('身高(CM):'))

# 体重(KG)
weight = float(input('体重(KG):'))

# 年龄
age = int(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)
else:
print('暂不支持该性别')

print() # 输出空行
print('*****************************************************')
y_or_n = input('是否退出程序(y/n)?')

print('程序已退出!')


if __name__ == '__main__':
main()


三、BMR计算器V3.0

主要知识点:

  • 字符串分隔split()
  • 字符串格式化输出,使用{}占位,format()
# -*- coding:utf-8 -*-
"""
@author:Angel
@file:bmr_V3.0.py
@time:2018/11/15 15:12
@1.0功能:BMR计算器
@2.0功能:根据用户输入计算BMR,程序持续运行
@3.0功能:用户可以在一行输入所有的信息,带单位的信息输出
"""


def main():

y_or_n = input('是否退出程序(y/n)?')

while y_or_n != 'y':

print('请输入以下信息,用空格分割')
input_str = input('性别 体重(kg) 身高(CM) 年龄:')
str_list = input_str.split(' ')
gender = str_list[0]
weight = float(str_list[1])
height = float(str_list[2])
age = int(str_list[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('您的性别:{},体重:{}公斤,身高:{}厘米,年龄:{}岁'.format(gender, weight, height, age))
print('基础代谢率:{}大卡'.format(BMR))
else:
print('暂不支持该性别')

print() # 输出空行
print('*****************************************************')
y_or_n = input('是否退出程序(y/n)?')

print('程序已退出!')


if __name__ == '__main__':
main()


四、BMR计算器V4.0

主要知识点:常见异常输入处理

# -*- coding:utf-8 -*-
"""
@author:Angel
@file:bmr_V4.0.py
@time:2018/11/15 15:12
@1.0功能:BMR计算器
@2.0功能:根据用户输入计算BMR,程序持续运行
@3.0功能:用户可以在一行输入所有的信息,带单位的信息输出
@4.0功能:处理异常操作
"""


def main():

y_or_n = input('是否退出程序(y/n)?')

while y_or_n != 'y':

print('请输入以下信息,用空格分割')
input_str = input('性别 体重(kg) 身高(CM) 年龄:')
str_list = input_str.split(' ')

try:
gender = str_list[0]
weight = float(str_list[1])
height = float(str_list[2])
age = int(str_list[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('您的性别:{},体重:{}公斤,身高:{}厘米,年龄:{}岁'.format(gender, weight, height, age))
print('基础代谢率:{}大卡'.format(BMR))
else:
print('暂不支持该性别')

except ValueError:
print('请输入正确的信息!')
except IndexError:
print('您输入的信息过少!')
except:
print('程序异常!')

print() # 输出空行
print('*****************************************************')
y_or_n = input('是否退出程序(y/n)?')

print('程序已退出!')


if __name__ == '__main__':
main()
推荐 0
本文由 花花_Angel 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册