TypeError: no canonical coercion from <type 'NoneType'> to Callable function ring with argument N

asked 2016-11-14 22:04:52 -0500 This post is a wiki. Anyone with karma >750 is welcome to improve it.

def eqDtm(eqn, nBelow, nAbove):#eqDtm is shortened for equilibrium determiner.
eqn = f(N)
if f(nBelow) >0 and f(nAbove) < 0:
print "stable"
elif f(nBelow) < 0 and f(nAbove) > 0:
print "unstable"
elif f(nBelow) > 0 and f(nAbove) > 0:
print "semistable"
elif f(nBelow) < 0 and f(nAbove) < 0:
print "semistable"
else:
print "Not an equilibrium point"

from random import uniform
def randomGen(num,num2):
uniform(num, num2)

var("r,N,A,K")
r= 0.1
A= 5.
K= 100
eqn = (r*N*(1-(N/K))*((N/A)-1))
Eq = [0, 5, 100]
for value in Eq:
if value == max(Eq):
eqDtm(eqn, randomGen(Eq,Eq),randomGen(Eq,Eq+1))
print "maximum equilibirum point"
elif value == min(Eq):
eqDtm(eqn, randomGen(Eq-1, Eq),randomGen(Eq,Eq))
print "minimum equilibirum point"
else:
eqDtm(eqn, randomGen(Eq,Eq),randomGen(Eq,Eq))
print "neither"

I don't understand the error that's specified in the title. Can anyone explain this? Thank you.

edit retag close merge delete

To display blocks of code, either indent them with 4 spaces, or select the corresponding lines and click the "code" button (the icon with '101 010').

Can you edit your question to do that?

Sort by » oldest newest most voted Your function randomGen returns None (there is no return statement).

more