if-else 语句中的语法无效

我编写了以下代码,它在“else”中返回语法错误。else:^ SyntaxError: 语法无效。我是 python 新手,但我不知道我是否遗漏了一些东西。


def pressure_pa(self, altitude_m):

        atm_layer = self.atm_layer_id(altitude_m)

        atm_coef = 34.1632

        if atm_layer > 1:

            layer_alt_m = altitude_m-self.alt_layer[atm_layer-1]

        if atm_layer == 1:

            p0 = 101325.0

            T0 = 288.15

            k0 = -6.5

            pres_pa = p0*pow(T0/(T0+k0*altitude_m/1000), atm_coef/k0)

        elif atm_layer == 2:

            p0 = 22632.06

            T0 = 216.65

            pres_pa = p0*math.exp(-atm_coef*(layer_alt_m/1000)/T0)

        elif atm_layer == 3:

            p0 = 5474.889

            T0 = 216.65

            k0 = 1.0

            pres_pa = p0*pow(T0/(T0+k0*layer_alt_m/1000), atm_coef/k0)

        elif atm_layer == 4:

            p0 = 868.0187

            T0 = 228.65

            k0 = 2.8

            pres_pa = p0*pow(T0/(T0+k0*layer_alt_m/1000), atm_coef/k0)

        elif atm_layer == 5:

            p0 = 110.9063

            T0 = 270.65

            pres_pa = p0*math.exp(-atm_coef*(layer_alt_m/1000)/T0)

        elif atm_layer == 6:

            p0 = 66.93887

            T0 = 270.65

            k0 = -2.8

            pres_pa = p0*pow(T0/(T0+k0*layer_alt_m/1000), atm_coef/k0)

        elif atm_layer == 7:

            p0 = 3.956420

            T0 = 214.65

            k0 = -2.0

            pres_pa = p0*pow(T0/(T0+k0*layer_alt_m/1000), atm_coef/k0)

        elif atm_layer == 8:

            pres_pa = math.exp(2.159582E-06*((altitude_m/1000)**3)-4.836957E-04*((altitude_m/1000)**2-0.1425192*altitude_m/1000+13.47530)

        else:

            pres_pa = math.exp(3.304895E-05*((altitude_m/1000)**3)–0.009062730*((altitude_m/1000)**2)+0.6516698*altitude_m/1000-11.03037)

        pres_pa=pres_pa*(273.15+self.dtemp_K)/273.15

        return pres_pa


守着一只汪
浏览 169回答 1
1回答

大话西游666

确保用括号将指数括起来。检查最后一个 elif 的最后一个指数(atm_layer == 8)。2 后面需要一个括号。        pres_pa = math.exp(2.159582E-06*((altitude_m/1000)**3)-4.836957E-04*((altitude_m/1000)**2**)**-0.1425192*altitude_m/1000+13.47530)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python