51Testing软件测试论坛

标题: python中用循环对列表中元素加减操作,输出操作列表为什么还是原列表 [打印本页]

作者: 测试积点老人    时间: 2019-2-15 09:23
标题: python中用循环对列表中元素加减操作,输出操作列表为什么还是原列表
  1. def calc1(numbers):
  2.     sum = 0
  3.     for num in numbers:
  4.         num=num+2


  5. nums = [1, 2, 3]
  6. calc1(nums)
  7. print(nums) #输出结果是[1,2,3]
复制代码
问题:为什么不是[3,4,5]

作者: houyan200722    时间: 2019-2-15 13:15
nums = [1, 2, 3]
nums本身没有改变,你的程序改变的是sum的数值
def calc1(numbers):
    sum = 0
    for num in numbers:
        num=num+2
        print(num)


nums = [1, 2, 3]
calc1(nums)
这样的结果才是 3,4,5
作者: cq520131517    时间: 2019-2-15 14:05
c =[]
def cal(numbers):
    num=0
    for num in numbers:
        num=num+2
        c.append(num)
    return c
nums=[1,2,3]
print cal(nums)
你写的有问题。。。
作者: qqq911    时间: 2019-2-18 11:12
sum=0啊
作者: abcsell    时间: 2019-2-18 13:44
先看看sum和sums是不是同一个
作者: jingzizx    时间: 2019-2-18 13:54
写的有问题




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2