Python Data Structures and Algorithms - Recursion: Factorial of a non-negative integer

Python Recursion: Exercise-4 with Solution

Write a Python program to get the factorial of a non-negative integer.

Sample Solution:

Python Code:

def factorial(n):
  if n <= 1:
    return 1
    return n * (factorial(n - 1))

Sample Output:



Flowchart: Recursion: Factorial of a non-negative integer.

Visualize Python code execution:

The following tool visualize what the computer is doing step-by-step as it executes the said program:

Python Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a Python program of recursion list sum.
Next: Write a Python program to solve the Fibonacci sequence using recursion.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

Follow us on Facebook and Twitter for latest update.

Python: Tips of the Day

Maps the values of a list to a dictionary using a function, where the key-value pairs consist of the original value as the key and the result of the function as the value:


def tips_map_dictionary(itr, fn):
  ret = {}
  for a in itr:
    ret[a] = fn(a)
  return ret
print(tips_map_dictionary([2,4,6], lambda a: a * a))


{2: 4, 4: 16, 6: 36}


We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook