The study of recursive function in Python(20170910)
a recursive function is mean that call itself
example
def fun1(x):
if x == 1:
return 1;
return x*fun1(x-1)
num = int(input(‘please enter a number to calculate’))
print(fun1(5))
the recursive use the structure of stack to operate
the tail recursion:when the function return, call itself
that means have been calculated before call itself
example
def fun_1(num1):
return fun_2(num1,1)
def fun_2(num2,sum):
if num2 == 1:
return sum
return fun_2(num2-1,num2*sum)
print(fun_1(5))
should konw how to design the recursion function
excersize
the hanoi question
def hanoi(n,x,y,z):
if n == 1:
print(x,’–>’,z)
else:
hanoi(n-1,x,z,y)
hanoi(1,x,y,z)
hanoi(n-1,y,x,z)
print(hanoi(5,’A’,’B’,’C’))
this is classical question and recursion algorithm`# The study of recursive function in Python(20170910)
a recursive function is mean that call itself
example
def fun1(x):
if x == 1:
return 1;
return x*fun1(x-1)
num = int(input(‘please enter a number to calculate’))
print(fun1(5))
the recursive use the structure of stack to operate
the tail recursion:when the function return, call itself
that means have been calculated before call itself
example
def fun_1(num1):
return fun_2(num1,1)
def fun_2(num2,sum):
if num2 == 1:
return sum
return fun_2(num2-1,num2*sum)
print(fun_1(5))
should konw how to design the recursion function
excersize
the hanoi question
def hanoi(n,x,y,z):
if n == 1:
print(x,’–>’,z)
else:
hanoi(n-1,x,z,y)
hanoi(1,x,y,z)
hanoi(n-1,y,x,z)
print(hanoi(5,’A’,’B’,’C’))