项目导入
版本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_women
def 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:n
Process finished with exit code 0
更上一层楼–让程序进化一点点
在版本2.0的基础上改造程序,能否BMR值的输出要带单位,用户能否将数值在一行输入