我的目标是创建一个名为residuals的列表,它返回一个列表,其中每个元素的绝对值减去平均值,我也在最后返回数据,因为这是我正在使用的列表。我得到了这个,但是residuals.append(new_number)
语法错误。
data = [92.5, 87.7, 74.8, 93., 91.7, 90.0, 90.3, 92.5, 100.0,
100.0, 35.7, 37.4, 21.0]
def residuals(number):
residuals = []
for element in number:
new_number = abs(element - float(avg(number))
residuals.append(new_number)
print residuals
residuals(data)
答案 0 :(得分:3)
我想分享一种技巧来弄清楚你何时犯了这个特殊错字,我相信我是从Clark Weissman的Lisp 1.5 Primer(PDF)中学到的。你通过使用错误的括号数,逐字符,计数来读取表达式。每当你来(
时,你都会计算一个,而每次来)
时,你都会倒数一个。当你结束时,你的计数应为零。
new_number = abs(element - float(avg(number))
1 2 3 21
这里,最后的计数大于零,所以我们知道有一个缺失的关闭paren。如果它小于零,我们就知道我们已经遗漏了一个空位。请注意,不告诉您 where 添加parens。在像
这样的结构中 x = foo(a, bar(b, baz(c, d), e)
1 2 3 2 1
缺少的关闭paren可能属于b
,c
,d
或e
之后,我们必须了解被调用的函数以告知哪些函数。