0% found this document useful (0 votes)
3 views4 pages

Recursion in Python

Recursion in Python is a process where a function calls itself to solve problems by breaking them down into smaller sub-problems. While recursion simplifies code and sequence creation, it can be memory and time-intensive, making it challenging to debug. Examples include calculating the Fibonacci sequence and factorials using recursive functions.

Uploaded by

bhavyadivager
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views4 pages

Recursion in Python

Recursion in Python is a process where a function calls itself to solve problems by breaking them down into smaller sub-problems. While recursion simplifies code and sequence creation, it can be memory and time-intensive, making it challenging to debug. Examples include calculating the Fibonacci sequence and factorials using recursive functions.

Uploaded by

bhavyadivager
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Recursion in Python

The term Recursion can be defined as the process of defining something in terms of itself. In
simple words, it is a process in which a function calls itself directly or indirectly.

Advantages of using recursion


 A complicated function can be split down into smaller sub-problems utilizing recursion.
 Sequence creation is simpler through recursion than utilizing any nested iteration.
 Recursive functions render the code look simple and effective.
Disadvantages of using recursion
 A lot of memory and time is taken through recursive calls which makes it expensive for use.
 Recursive functions are challenging to debug.
 The reasoning behind recursion can sometimes be tough to think through.
Syntax:
def func(): <--
|
| (recursive call)
|
func() ----
Example 1: A Fibonacci sequence is the integer sequence of 0, 1, 1, 2, 3, 5, 8….
 Python3

# Program to print the fibonacci series upto n_terms

# Recursive function

def recursive_fibonacci(n):

if n <= 1:

return n

else:
return(recursive_fibonacci(n-1) + recursive_fibonacci(n-2))

n_terms = 10

# check if the number of terms is valid

if n_terms <= 0:

print("Invalid input ! Please input a positive value")

else:

print("Fibonacci series:")

for i in range(n_terms):

print(recursive_fibonacci(i))

Output
Fibonacci series:
0
1
1
2
3
5
8
13
21
34
Example 2: The factorial of 6 is denoted as 6! = 1*2*3*4*5*6 = 720.
 Python3

# Program to print factorial of a number

# recursively.

# Recursive function

def recursive_factorial(n):

if n == 1:

return n

else:

return n * recursive_factorial(n-1)

# user input

num = 6

# check if the input is valid or not

if num < 0:

print("Invalid input ! Please enter a positive number.")

elif num == 0:
print("Factorial of number 0 is 1")

else:

print("Factorial of number", num, "=", recursive_factorial(num))

Output
Factorial of number 6 = 720

You might also like