python运行过程当中出现invalid syntax,代码如下,恳请大佬指出错误

defchashang(x=[],y=[]):iflen(x)>2andlen(y)>2:return((chashang(x[:len(x)-1],y[:len(y)-... def chashang(x=[],y=[]):
if len(x)>2 and len(y)>2:
return ((chashang(x[ :len(x)-1],y[ :len(y)-1])-chashang(x[1:len(x)],y[1:len(y)]))/float(x[0]-x[-1])
else:
return (y[0]-y[1])/float(x[0]-x[1])
x=[-2,-1,1,2]
y=[5,3,17,21]
g=chashang(x,y)
print("{:.2f}".format(g))
展开
 我来答
紫薇参星
科技发烧友

2018-12-05 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3598万
展开全部

你的Python程序,这句return ((chashang(x[ :len(x)-1],y[ :len(y)-1])-chashang(x[1:len(x)],y[1:len(y)]))/float(x[0]-x[-1])最后少写一个小括号,改成return ((chashang(x[ :len(x)-1],y[ :len(y)-1])-chashang(x[1:len(x)],y[1:len(y)]))/float(x[0]-x[-1]))就行了

完整的Python程序如下(改动的地方见注释)

def chashang(x=[],y=[]):

 if len(x)>2 and len(y)>2:

  return ((chashang(x[ :len(x)-1],y[ :len(y)-1])-chashang(x[1:len(x)],y[1:len(y)]))/float(x[0]-x[-1])) #这里末尾加小括号

 else:

  return (y[0]-y[1])/float(x[0]-x[1]) 

    

x=[-2,-1,1,2]

y=[5,3,17,21]

g=chashang(x,y)

print("{:.2f}".format(g)) 


运行结果
-1.00
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式