添加的python函数

时间:2017-11-11 00:33:44

标签: python

我创建了一个函数,该函数应该采用一个数字列表,为每个数字添加一个,然后使用新的(添加到)数字返回该列表。我做错了什么?

def addOne(x):
    myList = []
    z = 0
    for z in lens(x):
        myList.append(x[z] + 1)
        z = z + 1
    return myList

编辑:

尝试下面有人说的这段代码:

def addOne(x):
myList = []
for z in x:
    myList.append(z + 1)
return myList
old = [-5, 7, 2, 0]
print addOne(old)

并收到此错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "./a7.py", line 2, in addOne
    myList = []
TypeError: 'int' object is not iterable

1 个答案:

答案 0 :(得分:1)

首先,for语句处理z的值。您不需要在0处启动它,并且您想要在循环内更改它。

for语句逐步执行列表x中的,而不是索引。 z按顺序接受各个值:-5,7,2,0。不要将x用作z的索引;你已经拥有了所需的价值。添加1并附加到返回列表。

def addOne(x):
    myList = []
    for z in x:
        myList.append(z + 1)
    return myList

old = [-5, 7, 2, 0]
print addOne(old)

输出:

[-4, 8, 3, 1]