我正在用python2.7.6(默认值,2015年6月22日,17:58:13)编写一个小Python模块,并使用IPython 1.2.1运行我的程序。在
本模块将包含几个幂级数的数学函数求值。我将python函数定义从python函数测试中分离出来。在
这是我的代码PowerSeries.py:### Computations of some functions by power series ###
def exp(x):
"""Exponential function"""
exp=1.0
term=1.0
iteration=1
factorial=1
while(abs(term/factorial)>1e-10):
factorial*=iteration
term*=x
exp+=term/factorial
iteration+=1
return exp
def hyperbolicCosine(x):
"""Hyperbolic cosine function"""
cosh=1.0
term=1.0
iteration=1
factorial=1
while(abs(term/factorial)>1e-10):
factorial*=iteration
term*=x
if iteration%2==0:
cosh+=term/factorial
iteration+=1
return cosh
def sine(x):
"""Sine function"""
sine=0.0
term=1.0
iteration=1
factorial=1
while(abs(term/factorial)>1e-10):
factorial*=iteration
term*=x
if iteration%2==1:
sine+=term/factorial
term=-term
iteration+=1
return sine
def cosine(x):
"""Cosine function"""
cosine=1.0
term=1.0
iteration=1
factorial=1
while(abs(term/factorial)>1e-10):
factorial*=iteration
term*=x
if (iteration)%2==0:
term=-term
cosine+=term/factorial
iteration+=1
return cosine
这是我的代码测试.py:
^{pr2}$
一切都很好,直到我添加了双曲正弦的定义。
执行测试.py文件提供了一个无法解决的名称错误:19 print "### Tests of hyperbolic cosine ###"
20 x=-2
---> 21 print("x=%f cosh(x)=%.10f" % (x,hyperbolicCosine(x)))
22 x=-1
23 print("x=%f cosh(x)=%.10f" % (x,hyperbolicCosine(x)))
NameError: name 'hyperbolicCosine' is not defined
欢迎帮助。在