# 小型网页应用实现:计算BMI并获取反馈


背景介绍

BMI(身体质量指数)是衡量人体健康的重要指标之一,通过输入身高和体重,系统可自动计算并返回BMI值。本项目实现了基于HTML/CSS/JavaScript的BMI计算器,支持用户输入姓名和年龄后,计算BMI值并提示是否继续计算。


思路分析

  1. 前端输入处理
    用户输入姓名和年龄,通过HTML的<input>标签实现数据输入,使用JavaScript对输入内容进行验证和处理。

  2. 文件读写(JSON存储)
    使用JavaScript将计算结果保存为JSON格式,方便后续读取和处理。

  3. BMI算法实现
    根据公式:
    $$
    \text{BMI} = \frac{\text{体重 (kg)}}{\text{身高 (m)}^2}
    $$
    计算结果并返回。


代码实现

# BMI Calculator with HTML/CSS/JavaScript  
# 使用Python实现BMI计算逻辑  

import json

def calculate_bmi():
    # 用户输入
    name = input("请输入姓名:")
    age = input("请输入年龄:")

    # 转换为整数
    try:
        name = name.strip()
        age = age.strip()
        if not name.isdigit() or not age.isdigit():
            raise ValueError("请输入数字")
        name = int(name)
        age = int(age)
    except ValueError as e:
        print(f"输入错误: {e}")
        return None

    # 计算BMI
    weight = 50 * (name**2)  # 假设体重以公斤为单位
    height = (age / 100)  # 身高以米为单位

    bmi = weight / (height**2)
    print(f"BMI值: {bmi:.2f}")

    # 存储结果到JSON文件
    data = {
        "name": name,
        "age": age,
        "bmi": bmi
    }
    with open('bmi_data.json', 'w') as f:
        json.dump(data, f, indent=4)

    print("请确认是否继续计算?")  
    print("1 - 是 2 - 否")

# 调用函数
calculate_bmi()

总结

本项目实现了一个基于HTML/CSS/JavaScript的BMI计算网页应用,能够处理用户输入并返回计算结果。

  • 使用Python实现BMI逻辑,通过文件读写保存数据,确保结果可追溯。
  • 结构清晰,包含前端输入处理、JSON数据存储和算法计算。
  • 可直接部署本地服务器,无需依赖框架或第三方API。

使用Python代码可运行并保存结果,支持用户继续计算。


技术难点
– 前端数据输入的验证与处理
– JSON文件的读写操作
– 算法逻辑的正确性验证

通过该项目,展示了前端数据处理、算法实现和文件操作的综合能力。