Find the sum of first N natural numbers with Python Program
In this tutorial, we will find the sum of first N natural numbers. We shall explain the problem statement, and explore different ways to solve this problem.
Problem Statement
Find the sum of first N natural numbers.
1 + 2 + 3 + 4 . . + N
Run Example: If N = 6, sum of first 6 Natural Numbers is calculated as below.
1 + 2 + 3 + 4 + 5 + 6
= 21
Run User will provide the N through console. So, you have to read the N from console. And you should print the sum to the console.
Solution 1
- Read N from User.
- answer = 0
- You can use a for loop to iterate from 1 to N.
- In the for loop, add the number to answer.
- After you come out of the loop, you have the sum of first N natural numbers in your answer.
Python Program using for Loop
import sys
N = int(input("Enter a natural number: "))
answer=0
for i in range(0,N+1):
answer = answer + i;
print(answer)
Python Program using While Loop
import sys
N = int(input("Enter a natural number: "))
answer=0
i=1
while i<=N:
answer = answer + i
i=i+1
print(answer)
Output

Solution 2
The formula to find the sum of first N natural numbers is given below:
Sum of first N natural numbers = (N*(N+1))/2
Run We will use this formula and write a python program to compute the answer.
Python Program using formula
import sys
N = int(input("Enter a natural number: "))
answer = (N*(N+1))/2
#answer will be float because of divide opeartion
#cast to int
answer = int(answer)
print(answer)
Output
Enter a natural number: 5
15
Run Validating input from User
In all the above programs, we have not considered the case where user could provide an incorrect input.
Let us validate the input to be a natural number. For that, we should check if the given input is a number and then if it is greater than zero.
Python Program with input validation
import sys
#read the input
N = input("Enter a natural number: ")
#assume everything is fine
validation = True
#if N is not numeric, validation fails
if not(N.isnumeric()):
validation = False
else:
N=int(N)
#if n is less than 1, it is not a natural number
if (N<1):
validation = False
if validation:
answer = (N*(N+1))/2
answer = int(answer)
print(answer)
else:
print('Input is not a natural number. Try again.')
These validation cases are only for demonstration purpose. You may think of some more validations and incorporate in the Python program.
Summary
In this tutorial of Python Examples, we learned different ways of writing Python program to find the sum of first N natural numbers.
Related Tutorials
- Python – Sum of Two Numbers
- Python – Largest of Three Numbers
- Python – Smallest of Three Numbers
- Python – Factorial of a Number
- Python String – Find the number of overlapping occurrences of a substring
- Python Complex Number – Initialize, Access
- Python Program to Add Two Numbers
- How to Get Number of Elements in Pandas DataFrame?
- Numpy sqrt() – Find Square Root of Numbers
- Reverse a Number in Python