python - 我的变量在循环内部或外部发生变化

标签 python loops for-loop

我正在尝试编写一个在列表中添加数字的程序(list[1,2,3] 应该返回 1+2+3 = 6。

这个不起作用:

def sum_list (list): 
    for number in list:
        old_value=0
        new_value=old_value+number
        old_value=new_value
    return new_value

这个确实有效:

def sum_list (list):
    old_value=0
    for number in list:        
        new_value=old_value+number
        old_value=new_value
    return new_value

任何人都可以解释为什么程序在循环内的 old_value 中不起作用?

最佳答案

你的代码在逻辑上是错误的。每次循环运行时,您都会将 old_value 的值重新初始化为 0。

第一个方法仅保留列表中的最后一个条目,因为 old_value 始终为 0。

关于python - 我的变量在循环内部或外部发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32360226/

相关文章:

java - 我的数组中的位置 [1] 无法注册

python - 当您的数据不是均匀时间间隔时,是否有一种快速方法可以以均匀时间间隔对 Pandas Dataframe 进行滚动求和?

python - anaconda 找不到我已经安装的包

jquery - 在固定的 div 内无限滚动内容循环

C++ For 循环和数组混淆

Javascript - 使用 for 循环添加元素 id

c++ - 从具有重复键的多映射中仅删除一个元素

python - DBSCAN 轮廓系数 : does this for-loop work?

python - 如何在 Ubuntu 8.04 LTS 64 位上安装 python-igraph?

python - python shell中的默认函数