如何为BMI计算器添加用户使用次数计数功能?
BMI计算器计数器功能修复方案
问题根因
- 计数器累加逻辑位置错误:原代码仅在用户选择退出程序时执行+1操作,无法统计每次正常使用计算器的次数
- 累加触发条件不符合需求:统计输入"y"使用计算器的总次数,应当每完成一次BMI计算就计数一次,而非退出时才计数
修复后完整代码
user_continue = "y" counter = 0 while user_continue == "y": weight = float(input("请输入您的体重(单位:公斤):")) height = float(input("请输入您的身高(单位:米):")) # BMI计算公式 bmi = weight/(height*height) print(f"您的BMI值为:{bmi:.2f}") # BMI状态判断 if bmi < 18: print("状态提示:体重偏轻") elif 18 <= bmi < 25: print("状态提示:体重在正常范围内") else: print("状态提示:体重超重") # 每完成一次计算累加1次计数 counter += 1 user_continue = input("是否要继续计算下一个BMI?输入y继续,其他键退出:") # 退出程序前展示统计结果 print(f"计算器累计使用次数:{counter}") print("感谢使用Joe Saju开发的BMI计算器!") input("按回车键退出程序")
调整说明
- 把计数器累加操作移动到BMI计算完成的位置,每成功计算一次就计数一次,完全匹配统计用户输入"y"使用的总次数的需求
- 优化了输入输出提示为中文,同时增加BMI值保留两位小数的处理,可读性更好
- 把退出提示统一放到循环外,逻辑更清晰
- 如果需要保留原英文交互提示,仅移动计数器累加语句的位置即可,无需修改其他内容
内容的提问来源于stack exchange,提问作者joeycodes
相关产品推荐
相关产品推荐

