整数除法的错误

时间:2015-03-14 13:55:57

标签: python python-2.7 matplotlib

尝试绘制一个函数,到目前为止我已经想出了这个。

import matplotlib.pyplot as plt R = 1.097e-2 for m in range(1,4): print("Series for m =",m) for n in range(m+1,m+6): invlambda = R*(1/m**2-1/n**2) print(" ",1/invlambda," nm")

我得到除法的错误0.不确定为什么..... 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

问题在于你正在进行整数除法。在1.

的定义中使用invlambda
import matplotlib.pyplot as plt
R = 1.097e-2
for m in range(1,4):
     print("Series for m =",m)
     for n in range(m+1,m+6):
         invlambda = R*(1./m**2-1./n**2)
         print("  ",1/invlambda," nm")

在python 2中......表达式1/2是一个整数除法并给出1/2=0,因此你有1/2**2-1/3**2=0。它通过使用1.解决,即1./2 = 0.5