while j <= len(range(start, stop)):
for j in range(start, stop):
Every time the for loop ends, j = 10
len(range(start, stop))
is 11
So j <= len(range(start, stop))
forever
The while
loop seems entirely superfluous. Try removing it entirely:
def totalArea(start, stop, step):
def f(x):
return 10*math.e**(math.log(0.5)/5.27 * x)
area = 0.0
j = start
for j in range(start, stop):
area += float(step) * f(j)
print area