May*_*hem 0 python syntax append syntax-error python-2.7
我的目标是创建一个名为残差的列表,它返回一个列表,其中每个元素的绝对值减去平均值,我还在最后返回数据,因为这是我正在使用的列表。我已经走到这一步了,但是遇到了语法错误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)
Run Code Online (Sandbox Code Playgroud)
我想分享一种方法来确定您何时犯了这个特殊的拼写错误,我相信这是我从 Clark Weissman 的Lisp 1.5 Primer (PDF) 中学到的。你逐个字符地读了括号数量错误的表达式,并数着。每到一处就(加一,每到一处)就减一。当你到达终点时,你的计数应该为零。
new_number = abs(element - float(avg(number))
1 2 3 21
Run Code Online (Sandbox Code Playgroud)
在这里,末尾的计数大于零,因此我们知道缺少一个右括号。如果它小于零,我们就会知道我们遗漏了一个左括号。请注意,它不会告诉您在哪里添加括号。在像这样的建筑中
x = foo(a, bar(b, baz(c, d), e)
1 2 3 2 1
Run Code Online (Sandbox Code Playgroud)
缺少的右括号可能属于b、c、d或e,并且我们必须了解有关被调用函数的一些信息才能分辨出哪个。