我创建了一个名为WaveLengthCal(d,T)的函数,如下所示
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)
它不能正常工作,它显示错误信息为
> 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'
我不知道为什么,因为我已经在那里放了两个输入,但它一直告诉我其中一个参数丢失了。有人有什么建议吗?
答案 0 :(得分:0)
放置功能的文件的名称是什么?这是应该导入的名称。说:
您有一个名为null
的文件,其中包含以下内容:
wavefunctionfile.py
您现在可以在与文件相同的目录中启动python并执行以下操作:
def wavefunction(a,b):
print(a)
print(b)
return a+b
这将输出
>>> import wavefunctionfile as w
>>> w.wavefunction(3,4)
答案 1 :(得分:0)