我做了一個叫WaveLengthCal(d,T)函數如下如何使用功能在另一個Python文件
def WaveLengthCal(d, T):
import numpy as np
g=9.8
k0h=4*np.pi**2/g/T**2*d;
if k0h>2.72:
kh=k0h*(1+2*np.exp(-2*k0h))
else:
kh=np.sqrt(k0h)*(1+1/16*k0h+11/360*k0h**2)
NP=10 # number of time of iteration
L0=g*T**2/2/np.pi
L=L0*np.tanh(kh)
if d/L <1/20:
L=T*np.sqrt(g*d)
elif d/L>1/2:
L=L0
else:
for i in range(NP):
L=g*T**2/2/np.pi*np.tanh(2*np.pi*d/L)
return L
,如果我用這個功能在同一文件中
>>> WaveLengthCal(2,3)
[11.297788563155367]
此功能工作正常
然而,當我試圖在如下另一個Python文件來使用此功能,
import WaveLengthCal as wl
L=wl.WaveLengthCal(0.513,2)
它不能很好地工作,這表明一個埃羅[R消息
> Traceback (most recent call last): File
> "/usr/lib/python3.5/code.py", line 91, in runcode
> exec(code, self.locals) File "<input>", line 7, in <module> TypeError: WaveLengthCal() missing 1 required positional argument: 'T'
我不知道爲什麼,因爲我已經把兩個輸入存在,但它不斷告訴我缺少論據之一。任何人有任何建議?