> 文档中心 > Python案例3—计算基础代谢率V_2.0

Python案例3—计算基础代谢率V_2.0


大家好,我是白菜胡萝丸子

人生苦短,Python当歌

坚持就是胜利
基础代谢率

项目导入

版本2.0:在版本1.0的基础上改造程序,根据用户的输入计算BMR,将BMR计算封装到函数并实现持续运行,让用户选择退出

项目分析—理清思路

  • 分析问题:分析问题的计算部分
  • 明确问题:划分问题的输入、处理和输出部分(IPO)
  • 设计算法:计算部分的核心
    请尝试绘制思维导图

知识点学习–万丈高楼平地起

复习:

  • Python语法的基础知识
  • 函数的定义与调用
  • 用程序解决问题的方法

上机编程–动动手,让程序运行起来

参照代码

"""作者:白菜胡萝丸子版本2.0:在版本1.0的基础上改造程序,根据用户的输入计算BMR,将BMR计算封装到函数并实现持续运行,让用户选择退出"""# 定义女,男性bmr计算函数def women_bmr(weight, height, age):    bmr_women = 9.6 * weight + 1.8 * height - 4.7 * age + 655    return bmr_womendef men_bmr(weight, height, age):    bmr_men = 13.7 * weight + 5.0 * height - 6.8 * age + 66    return bmr_men# 定义主函数def main():    # 设置循环判断变量    y_n = input('您是否继续运行程序(继续则输入-y,否则输入-n:')    # 设置循环的次数    i = 0    #    while y_n == 'y': # 用户输入基础数据 gender = input('请您输入性别男(女):') weight = float(input('请您输入您的体重(kg,输入时请不要带单位:')) height = float(input('请您输入您的身高(cm,输入时请不要带单位:')) age = int(input('请您输入您的年龄:')) if gender == '女':     bmr = women_bmr(weight, height, age)     print('您的基础代谢率为', bmr) elif gender == '男':     bmr = men_bmr(weight, height, age)     print('您的基础代谢率为', bmr) else:     print('暂时不支持计算') # 计算循环次数 i = i + 1 print('这是程序的第', i , '次运行。' ) print('----------------------------') y_n = input('您是否继续运行程序(继续则输入-y,否则输入-n:')if __name__ == '__main__':    main()

执行结果

您是否继续运行程序(继续则输入-y,否则输入-n):y请您输入性别男(女):男请您输入您的体重(kg,输入时请不要带单位:61请您输入您的身高(cm,输入时请不要带单位:180请您输入您的年龄:21您的基础代谢率为 1658.8999999999999这是程序的第 1 次运行。----------------------------您是否继续运行程序(继续则输入-y,否则输入-n:y请您输入性别男(女):女请您输入您的体重(kg,输入时请不要带单位:48请您输入您的身高(cm,输入时请不要带单位:172请您输入您的年龄:18您的基础代谢率为 1340.8这是程序的第 2 次运行。----------------------------您是否继续运行程序(继续则输入-y,否则输入-n:nProcess finished with exit code 0

更上一层楼–让程序进化一点点

在版本2.0的基础上改造程序,能否BMR值的输出要带单位,用户能否将数值在一行输入