语法差异无效,很奇怪

时间:2015-07-21 11:20:49

标签: python syntax

我编写了以下代码,该代码定义了稍后我将使用的一些函数:

def dy1_dt(t, y1, y2, y3, y5, y6, i):
        S=pi*y5**2
        return -G*m_range[i]/y2**2+(1.0/(2.0*y3)*C_D*rho_range[i]*(y1**2+y2**2*y6**2)*cos(phi)*S


    def dy2_dt(t, y1, i):
        return y1        

    def dy3_dt(t, y1, y2, y5, y6, i):
        S=pi*y5**2
        return -0.5*C_H*rho_range[i]*(y1**2+y2**2*y6**2)**(1.50)*S/Q_abl

    def dy4_dt(t, y1, y2, y5, y6, i):
        return C_D*rho_range[i]/(2*iron_den)*(y1**2+y2**2*y6**2)/y5


    def dy5_dt(t, y1, y2, y3, y5, y6, i):
        S=pi*y5**2
        return -y5/(6.0*y3)*C_H*rho_range[i]*(y1**2+y2**2*y6**2)**(1.50)*S/Q_abl

    def dy6_dt(t, y1, y2, y3, y6, i):
        return -C_D*rho_range[i]/(2*y3*y2)*(y1**2+y2**2*y6**2)*sin(phi)*S-((y1*y6)/y2)

    def dy7_dt(t, y6, i):
        return y6

我在' dy2_dt(t,y1,i)'的行中收到错误消息说“语法无效”#。我不知道其中实际包含了什么无效语法 - 似乎一切都很顺利。

1 个答案:

答案 0 :(得分:2)

您的代码确实无效,您忘记关闭括号。

如果展开第一个功能,则会显示:

def dy1_dt(t, y1, y2, y3, y5, y6, i):
        S=pi*y5**2
        return (
                -G *
                m_range[i] /
                y2 **
                2 +
                (
                        1.0 /
                        (2.0 *y3 ) *
                        C_D *
                        rho_range[i] *
                        (
                                y1 **
                                2 +
                                y2 **
                                2 *
                                y6 **
                                2
                        ) *
                        cos(phi) *
                        S