Skip to main content

Functions and Recursion in PYTHON

 A Function is a group of statements performing a particular task.

When a program gets bigger in size and its complexity increases, it gets difficult for a programmer to keep track on which piece of code is doing what ! A function can be reused by the programmer in a given program any number of times as he wants.


Syntax of a Function in Python :-

def func():
    print("Hello")
#this function can be called any number of times.

Function cell :-

Whenever we want to call a function we put the name of the function as 'def func_name():' 
Function definition is the exact set of instruction which are to be excuted.

Lets write an easy code :-





It was an easy program, lets see some other examples :-
Now we will make a programme of summation using function :-





Now we will see a complicated problem, So that you can understand better :-

Now we have to write a program to find the maximum of three numbers using function :-





Now I hope you understand Functions.


Recursion :-

Recursion is a function which calls itself. It is used to directly use a mathematical formula as a function.

Let first code it with simply using function and after it with recursion:

  



Now lets try the above program with the help of recursion :-





Hope you understand about Functions and Recursion. Please share it with your friends and help them learning python. In the next tutorial we will learn about some sorting algorithms like Bubble sort and Insertion sort.




John Veer
Contact mail id  -  john.veer.utube@gmail.com
Contact Us for any query.
Thanks for reading !

Comments

Popular posts from this blog

Bubble Sort Algorithm in PYTHON

What is Bubble Sort ? And why do we need this ? Bubble sort is the simplest algorithm to sort any array. Due to its simplicity, bubble sort is often used to introduce the concept of a sorting algorithm.  In computer graphics it is popular for its capability to detect a very small error (like swap of just two elements) in almost-sorted arrays and fix it with just linear complexity (2n). For example, it is used in a polygon filling algorithm, where bounding lines are sorted by their x coordinate at a specific scan line (a line parallel to x axis) and with incrementing y their order changes . ALGORITHM :- 1.) Firstly we have an unsorted list, which is to be sorted. 2.) Consider the first element of the list. Then compare it with the next element. 3.) If the second element is greator than the first element than swap them. 4.) If the second element is smaller than the first element, then we don't have to do anything. 5.) Going ahead, now after swap (may or may not), look for second...

Merge Sort Algorithm in PYTHON

  First of all, Why do we need to learn so many sorting algorithms? We need to learn so many sorting algorithms because there are cases in which which algorithm fits best. According to the time complexity, we have to choose an algorithm of our use. That's why we are learning so many sorting algorithms. SO LETS START WITH THE MERGE SORT In computer science, merge sort (also commonly spelled as mergesort) is an efficient, general-purpose, and comparison-based sorting algorithm. Most implementations produce a stable sort, which means that the order of equal elements is the same in the input and output. It is one of the most popular algorithms and one of the most stable sorting algorithm. ALGORITHM 1.) First of all take a list and put it in a function (recursion) that it breaks itself into two halves. 2.) When we get the two halves, the recursion code will automatically breaks the two halves into four             parts and then into 8 parts until each...

Queues in PYTHON

  The Python Code for Queue is here :- class Node: def __init__(self, data): self.data = data self.next = None class Queue: def __init__(self): self.front = self.rear = None def enqueue(self, data): newnode = Node(data) newnode.next = self.rear self.rear = newnode if self.front is None: self.front = newnode def dequeue(self): temp = self.rear while temp.next is not self.front: temp = temp.next self.front = temp temp.next = None def traverse(self): temp = self.rear while temp is not None: print(temp.data, end = " --> ") temp = temp.next print("None") new = Queue() new.enqueue(4) new.enqueue(1) new.enqueue(0) new.enqueue(2) new.traverse() new.dequeue() new.traverse() new.dequeue() new.traverse() 2 --> 0 --> 1 --> 4 --> None 2 --> 0 --> 1 --> None 2 ...