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

如何在Python while循环中保存递增数值并计算总和?

循环中列表仅保留最后一个元素的问题解决

你的问题核心在于列表初始化的位置错误:你把l = []写在了while循环内部,每次循环都会重新创建一个空列表,然后只添加当前的j值,循环结束后自然只剩最后一次计算的结果。

修正后的基础代码

def calc_cost():
    x = 0
    k = 34
    j = 0
    l = []  # 将列表初始化移到循环外部,确保全程使用同一个列表

    while x <= k:
        x = x + 1
        j = j + 5
        l.append(j)  # 每次循环往同一个列表追加元素
        
    print(sum(l))

# 直接调用函数即可,避免外层print输出None
calc_cost()

更简洁的优化写法

如果不需要保留列表,只想计算总和,可以直接用生成器表达式省略列表创建步骤:

def calc_cost():
    # 循环35次(对应原逻辑中x从0到34的35次迭代),每次生成5的倍数
    total = sum(5 * i for i in range(1, 36))
    print(total)

calc_cost()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 14:45:36