【发布时间】:2014-06-01 23:43:22
【问题描述】:
def double_preceding(values):
'''(list of ints)->None
Update each value in a list with twice
the preceding value, and the first item
with 0.
For example, if x has the value
[1,2,3,4,5], after calling the
double_preceding with argument x,
x would have the value[0,2,4,6,8]
>>>double_preceding(2,3,4,5,6)
[0,4,6,8,10]
>>>double_preceding(3,1,8,.5,10)
[0,6,2,16,1]
'''
if values != []:
temp = values[0]
values[0] = 0
for i in range(0, len(values)):
double = 2 * temp
temp = values[i]
values[i] = double
return #None
那我做错了什么?我在任何地方都没有发现问题,我已经尝试修复了一个小时。
我修复了代码:
def double_preceding(values):
if values != 0:
temp = values[0]
values[0] = 0
for i in range(1, len(values)):
double = 2 * temp
temp = values[i]
values[i] = double
print(values)
return#None
【问题讨论】:
-
这是一个非常简洁、明确和清晰的错误信息,不是吗?
标签: python typeerror argument-passing