** 之后的 float 对象参数必须是映射,而不是 int

float object argument after ** must be a mapping, not int

我在 VScode 上使用 Jupyter notebook。 我有 python 脚本,.py 有一些定义。

python脚本包含一个我需要的定义,

def pressure2depth (P, L, Del):
    # calculate depth from pressure sensor
    # pressure (P) : in dbar
    # latitude (L) : degree
    # Geopotential anomaly (Del) : dyn meteres
    X = math.sin(L / 57.29578)*math.sin(L / 57.29578)
    GR = 9.780318 * (1.0 + (5.2788*(10**-3) + (2.36*(10**-5)) * X) * X) + (1.092*(10**-6)) * P
    DepthTerm = ((( (-1.82*(10**(-15))) * P + 2.279*(10**(-10))) * P - 2.2512*(10**(-5)) ) * P + 9.72659) * P
    DEPTH = DepthTerm / GR + Del / 9.8
    return DEPTH

但是,当我将这个函数导入Jupiter笔记本环境并使用它时,它returns下面的错误。

float object argument after ** must be a mapping, not int.

但我将定义复制并粘贴到 Jupyter notebook 上 运行,它没有错误。

我该如何解决这个问题?

您传递的值的格式不正确。

pressure2depth(2123, 234,324) # int or float are passed here