python - Why does recursive sequence not work correctly? -


i'm totally new python , i'm trying print solution recursive sequence:

#input sequence variables  = float(raw_input("type in = ")) n0 = int(raw_input("type in n_0 = ")) n1 = int(raw_input("type in n_1 = ")) y0 = float(raw_input("type in y_0 = "))   #define function y_n (forward iteration)  def yn(n):    if (n==0):        return y0    else:        return (1/n)-a*yn(n-1)  #backward iteration  def yn_back(n):        return (1/a)*((1/n)-yn(n-1))  if(n1>=n0):    in range(n0,n1+1):           print(yn(i))  else:    in range(n0,n1+1):        print(yn_back(i)) 

but if run script a=5, n0=1, n1=30 , y0=log(5/6)=0.182322 solutions high (from 0.08839 3.29e+18) , values negative n. solution right n=1. other n, (1/n) in definition of yn(n) seems ignored.

can me?

thanks lot!

n integer, 1/n returning 0 n greater 1:

>>> 1/1 1 >>> 1/2 0 >>> 1.0/2 0.5 

to make sure you're using float division, change 1 1.0 wherever calculate 1/n:

(1.0/n) 

or convert n float.


Comments

Popular posts from this blog

Why does Ruby on Rails generate add a blank line to the end of a file? -

keyboard - Smiles and long press feature in Android -

node.js - Bad Request - node js ajax post -