为了账号安全,请及时绑定邮箱和手机立即绑定

返回外部函数错误-需要帮助

返回外部函数错误-需要帮助

陪伴而非守候 2021-03-12 14:11:57
def getPressAve(odbname):    odb=openOdb(odbname)    lastFrame=odb.steps['Step-1'].frames[-1]    pressure=lastFrame.fieldOutputs['CPRESS']    press=[[0,0]] # sets the first element to [0,0]    for n in pressure.values:      gridPt=part1.nodes.getFromLabel(n.nodeLabel)      coord=assemb.getCoordinates(gridPt)      press.append([n.nodeLabel,n.data,coord])      press=avePress=press[1:] # removes the first element      press.sort(Comp_X)      print ('pressure extracted')      index=0      while index<len(press):        sum=0        tally=0        if index!=0:          sum=sum+press[index-1][1]        tally=tally+1        if index!=1:          sum=sum+press[index-2][1]        tally=tally+1        if index!=2:          sum=sum+press[index][1]        tally=tally+1        if index<len(press)-1:          sum=sum+press[index+1][1]        tally=tally+1        if index<len(press)-2:          sum=sum+press[index+2][1]        tally=tally+1        average=sum/tally        avePress[index][1]=average        index=index+1    odb.close()    print ('pressure averaged')    return avePress
查看完整描述

2 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

在Python中,缩进很重要。照原样,您正在定义一个getPressAve仅执行以下操作的函数:

odb=openOdb(odbname)

定义函数后,您可以继续执行

lastFrame=odb.steps['Step-1'].frames[-1]

以及功能之外的东西。那不是你想要的。解决方案是使该odb=openOdb(odbname)行之后的所有内容缩进该级别,以便将这些行解释为该函数主体的一部分。


查看完整回答
反对 回复 2021-03-30
?
慕容森

TA贡献1853条经验 获得超18个赞

您忘记正确缩进代码了:


def getPressAve(odbname):

    odb=openOdb(odbname)

    ...

    print ('pressure averaged')

    return avePress

由于您尚未使用该return关键字,因此该关键字已在函数外部出现,因此出现错误:SyntaxError: 'return' outside function。


查看完整回答
反对 回复 2021-03-30
  • 2 回答
  • 0 关注
  • 195 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号