You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设置动态变量名?解决体重记录与7天均值计算的变量命名问题

动态体重变量命名与7天平均值计算方案

一、动态变量名的处理思路

直接创建形如NameOfVariable_[XdaysFromToday]的动态变量并不是最优方案——这类变量可读性差、调试困难,还容易引发命名冲突。更合理的做法是用字典或列表来存储体重数据,通过键值对/索引对应天数,既满足动态关联日期的需求,又便于维护和操作。

如果因特殊场景必须使用动态命名的变量,以下以Python为例说明实现方式:

  • 利用globals()或locals()全局/局部命名空间字典,动态添加变量。比如创建weight_0(今日)、weight_-1(昨日)这类变量:
# 动态生成变量
globals()["weight_0"] = 80
globals()["weight_-1"] = 79
globals()["weight_-2"] = 78.5
# ... 依次创建到weight_-6

但再次强调:这种方式不推荐,仅作为特殊场景的备选方案。

二、7天体重平均值计算实现

推荐方案:用字典存储数据

用字典的键对应天数(0代表今日,-1代表昨日,以此类推到-6),值存储对应体重,既清晰又便于每日更新:

# 初始化7天体重数据
weight_data = {
    0: 80,    # 今日
    -1: 79,
    -2: 78.5,
    -3: 78.2,
    -4: 78.8,
    -5: 77.9,
    -6: 78
}

# 计算最近7天平均值
total = sum(weight_data.values())
average_weight = total / len(weight_data)
print(f"最近7天平均体重:{average_weight:.2f}kg")

每日更新数据的逻辑

次日更新时,只需将原有数据的天数标识统一减1,移除超过6天前的数据(原-6),再添加当日新体重:

# 生成新的体重记录字典
updated_weight = {}
for day, weight in weight_data.items():
    if day > -6:  # 保留原0~-5,转为新的-1~-6
        updated_weight[day - 1] = weight

# 新增今日体重(示例值)
today_new_weight = 79.5
updated_weight[0] = today_new_weight

# 更新为最新数据
weight_data = updated_weight

备选方案:用列表存储数据

如果不需要明确的天数标识,也可以用列表按「今日→6天前」的顺序存储,索引0对应今日,索引6对应6天前:

# 初始化列表,顺序为今日、昨日...6天前
weight_list = [80, 79, 78.5, 78.2, 78.8, 77.9, 78]

# 计算平均值
average_weight = sum(weight_list) / len(weight_list)

# 每日更新:移除最旧的元素(6天前),在头部插入今日新体重
today_new_weight = 79.5
weight_list.pop()
weight_list.insert(0, today_new_weight)

内容的提问来源于stack exchange,提问作者dm18

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 14:01:03