Python 2.7 return语句和print语句中出错
当我从代码中删除*1语句时,输出显示打印语句*2中的错误。请解释发生了什么。我是新手 输出:Python 2.7 return语句和print语句中出错,python-2.7,error-handling,Python 2.7,Error Handling,当我从代码中删除*1语句时,输出显示打印语句*2中的错误。请解释发生了什么。我是新手 输出: from __future__ import division if __name__ == '__main__': n = int(raw_input()) x = raw_input().split() def addlist(list): i=0 for entry in list: i = i + int(entr
from __future__ import division
if __name__ == '__main__':
n = int(raw_input())
x = raw_input().split()
def addlist(list):
i=0
for entry in list:
i = i + int(entry)
return i
def median (x,n):
x.sort()
if n%2==0:
return (int(x[n//2]) + int(x[n//2-1])/2
return x[(n-1)//2] #SyntaxError: invalid syntax *1
print (addlist(x))/n #SyntaxError: invalid syntax *2
print median(x,n)
在
返回(int(x[n//2])+int(x[n//2-1])/2
行中有一个额外的括号…请删除起始括号,或在结尾处用)
将其关闭。与许多Python错误一样,您希望在执行之前检查该行。看起来有一个额外的括号,这就是为什么在删除*1时它会导致*2失败的原因,因为正是上面的那行导致了问题。@zwer Done。但它仍然显示相同的错误。您可以尝试计算表达式并将其存储为变量,然后尝试返回变量。它可能会帮助您更有效地调试问题。不确定它是否是粘贴在此处的方式,但第13-20行的间距不正确,需要再添加一个空格。另外,在(int(x[n//2])删除第16行的(at)应该可以解决这个问题。
File "solution.py", line 18
return x[(n-1)//2] #SyntaxError: invalid syntax
^
SyntaxError: invalid syntax