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.
Find the sum of first N natural numbers.
1 + 2 + 3 + 4 . . + N
Example: If N = 6, sum of first 6 Natural Numbers is calculated as below.
1 + 2 + 3 + 4 + 5 + 6 = 21
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.
- 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)
The formula to find the sum of first N natural numbers is given below:
Sum of first N natural numbers = (N*(N+1))/2
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)
Enter a natural number: 5 15
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.
In this tutorial of Python Examples, we learned different ways of writing Python program to find the sum of first N natural numbers.
- Python – Factorial of a Number
- How to Swap Two Numbers in Python?
- Numpy sqrt() – Find Square Root of Numbers
- Reverse a Number in Python
- Python – Smallest of Three Numbers
- Python – Sum of Two Numbers
- How to Get Number of Elements in Pandas DataFrame?
- Python Program to Add Two Numbers
- Python String – Find the number of overlapping occurrences of a substring
- Python Complex Number – Initialize, Access