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

Binary Search Tree and Binary Heap in PYTHON

Here is the Python code for Binary Search Tree :- Content included:- 1.) Insertion 2.) Search Operation 3.) Deletion 4.) Minimum Node 5.) Maximum Node 6.) Preorder Traversal 7.) InOrder Traversal 8.) PostOrder Traversal class BST: def __init__(self, data): self.root = data self.left = None self.right =None def insertnode(self, data): if self.root is None: self.root = data return if self.root is data: return elif self.root > data: if self.left is not None: self.left.insertnode(data) else: self.left = BST(data) elif self.root data: if self.left is not None: self.left.searchoprn(data) else: print("Data is not present.") elif self.root self.root: if self.right: selfright = self.right.deletenode(data) ...

Quicksort Algorithm and Data structure in PYTHON

  So, now what is Quicksort ? Quicksort, or partition-exchange sort, is a sorting algorithm developed by Tony Hoare that, on average, makes O comparisons to sort n items. In the worst case, it makes O comparisons, though this behavior is rare. Quicksort is often faster in practice than other O algorithms. Additionally, quicksort's sequential and localized memory references work well with a cache. Quicksort is a comparison sort and, in efficient implementations, is not a stable sort. Quicksort can be implemented with an in-place partitioning algorithm, so the entire sort can be done with only O additional space used by the stack during the recursion. Properties of Quicksort :- The quick sort is an  in-place, divide-and-conquer, massively recursive sort algorithm . The efficiency of the algorithm is majorly impacted by which element is chosen as the pivot point. The worst-case efficiency of the quick sort is o (n²) when the list is sorted and left most element is chosen as the p...

Doubly Linked List in PYTHON

  Here is the Python code for the Doubly Linked List :- #first of all creat a class node class Node :     def __init__ ( self , data ):         self . data = data         self . next = None         self . prev = None #now create a class of doubly linked list class DLL :     def __init__ ( self ):         self . head = None #function to insert the node at begining     def insertatbeg ( self , data ):         newnode = Node ( data )         newnode . prev = None         newnode . next = self . head         self . head = newnode #function to insert the node at the end     def insertatend ( self , data ):         newnode = Node ( data )         if self . head is None :             self . head ...