For working professionals
For fresh graduates
More
13. Print In Python
15. Python for Loop
19. Break in Python
23. Float in Python
25. List in Python
27. Tuples in Python
29. Set in Python
53. Python Modules
57. Python Packages
59. Class in Python
61. Object in Python
73. JSON Python
79. Python Threading
84. Map in Python
85. Filter in Python
86. Eval in Python
96. Sort in Python
101. Datetime Python
103. 2D Array in Python
104. Abs in Python
105. Advantages of Python
107. Append in Python
110. Assert in Python
113. Bool in Python
115. chr in Python
118. Count in python
119. Counter in Python
121. Datetime in Python
122. Extend in Python
123. F-string in Python
125. Format in Python
131. Index in Python
132. Interface in Python
134. Isalpha in Python
136. Iterator in Python
137. Join in Python
140. Literals in Python
141. Matplotlib
144. Modulus in Python
147. OpenCV Python
149. ord in Python
150. Palindrome in Python
151. Pass in Python
156. Python Arrays
158. Python Frameworks
160. Python IDE
164. Python PIP
165. Python Seaborn
166. Python Slicing
168. Queue in Python
169. Replace in Python
173. Stack in Python
174. scikit-learn
175. Selenium with Python
176. Self in Python
177. Sleep in Python
179. Split in Python
184. Strip in Python
185. Subprocess in Python
186. Substring in Python
195. What is Pygame
197. XOR in Python
198. Yield in Python
199. Zip in Python
The sum of n natural numbers refers to the total when you add all natural numbers from 1 to n. This sum can be calculated efficiently using a formula, but it’s also useful to know how to do it with loops.
In this guide, you’ll learn how to compute the sum of n natural numbers in Python. You'll see how the sum of n numbers in Python using for loop works in practice and much more.
By the end you'll be able to apply a number of methods for calculating sums, improving your coding flexibility and problem-solving skills.
“Enhance your Python skills further with our Data Science and Machine Learning courses from top universities — take the next step in your learning journey!”
Natural numbers are the set of positive integers starting from 1 and going on infinitely (1, 2, 3, 4, 5, …). These numbers are often used for counting and ordering. For example, if you are counting the number of students in a class, you would use natural numbers (1, 2, 3, ...).
In mathematics, the natural numbers are often denoted by the symbol N, and they don’t include negative numbers or fractions. Understanding this concept is essential for calculating the sum of n natural numbers in Python.
“Start your coding journey with our complimentary Python courses designed just for you — dive into Python programming fundamentals, explore key Python libraries, and engage with practical case studies!”
In Python, you can also calculate the sum of numbers using a while loop. This approach is useful when you want to perform repeated actions until a specific condition is met, and it works well with user input.
Let’s write a Python program that asks the user for the number n and then calculates the sum of the first n natural numbers using a while loop.
n = int(input("Enter a number: ")) # Take input from the user and convert it to an integer
sum_n = 0 # Initialize the sum variable
i = 1 # Start with 1 as the first natural number
while i <= n: # Continue looping as long as i is less than or equal to n
sum_n += i # Add the current value of i to sum_n
i += 1 # Increment i to move to the next natural number
print(f"Sum of first {n} natural numbers is: {sum_n}")
Output:
Enter a number: 5Sum of first 5 natural numbers is: 15
Explanation:
Why Use a While Loop?
A while loop is ideal when you don’t know the number of iterations in advance, but you know the condition you need to meet (in this case, i <= n). It’s great for scenarios where you want to keep adding numbers until a specific limit is reached, making it flexible for user-driven calculations.
We’ll look at how to calculate the sum of n natural numbers in Python using recursion, which allows you to break down the problem into smaller, manageable parts.
def sum_of_n(n):
# Base case: when n is 1, return 1
if n == 1:
return 1
else:
# Recursive case: sum of n numbers is n + sum of n-1 numbers
return n + sum_of_n(n - 1)
# Take input from the user
n = int(input("Enter a number: "))
# Calculate the sum using recursion
result = sum_of_n(n)
print(f"Sum of first {n} natural numbers is: {result}")
Output:
Enter a number: 5Sum of first 5 natural numbers is: 15
Explanation:
Why Use Recursion?
Recursion is a powerful technique for breaking down problems into smaller sub-problems. In this case, we repeatedly calculate the sum of smaller subsets of natural numbers. It’s a more mathematical approach to the problem compared to using loops.
One of the most common ways is to calculate sum of n numbers in python using for loop.
Let’s look at an example:
n = int(input("Enter a number: ")) # Take input from the user
sum_n = 0 # Initialize the sum variable
# Loop through the first n natural numbers and add them to sum_n
for i in range(1, n + 1): # range(1, n+1) includes numbers from 1 to n
sum_n += i # Add current value of i to sum_n
print(f"Sum of first {n} natural numbers is: {sum_n}")
Output:
Enter a number: 5Sum of first 5 natural numbers is: 15
Explanation:
Why Use a For Loop?
Using a for loop is an intuitive and efficient method to calculate the sum of n numbers. It provides clear structure and readability, which makes it ideal for beginners. The loop allows you to iterate over a range of numbers, adding each one to the sum, and it’s easy to adjust if you need to perform more complex operations.
For example, if you needed to calculate the sum of squares of the first n natural numbers, you could modify the loop like this:
sum_of_squares = 0
for i in range(1, n + 1):
sum_of_squares += i ** 2 # Square each number before adding
print(f"Sum of squares of first {n} numbers is: {sum_of_squares}")
The for loop is one of the most commonly used methods to calculate the sum of natural numbers in Python, especially when the sequence is finite and you need to perform the calculation iteratively. While recursion offers an elegant solution and a good introduction to the concept of recursion, a for loop is generally more efficient and easier to understand for simple problems like summing numbers.
An efficient way to calculate the sum of n natural numbers in Python is by using a mathematical formula. This method is fast and doesn't require looping or recursion. The formula for the sum of the first n natural numbers is:
Sum = n×(n+1)
2
This formula gives the result directly without needing to iterate through each number, making it much faster for large values of n.
Let’s see how to implement this formula in Python.
n = int(input("Enter a number: ")) # Take input from the user
# Using the formula for the sum of first n natural numbers
sum_n = (n * (n + 1)) // 2 # Integer division to ensure an integer result
print(f"Sum of first {n} natural numbers is: {sum_n}")
Output:
Enter a number: 5Sum of first 5 natural numbers is: 15
Explanation:
Why Use the Formula?
Using the formula is the most efficient method to calculate the sum of n natural numbers, especially when n is large. It avoids the need for loops or recursion, providing a direct calculation in constant time (O(1)).
This method is particularly useful in mathematical problems where you are given a specific range and need to calculate the sum quickly. It’s also great for solving problems in competitive programming, where performance is crucial.
Comparison with Other Methods
Also Read: Arithmetic Progression Formula: Everything You Need to Know
The sum of n natural numbers in Python refers to the total of numbers starting from 1 to n. You can calculate it using loops or mathematical formulas.
You can calculate the sum of n natural numbers in Python using a loop, recursion, or the mathematical formula (n×(n+1)) // 2.
The formula is (n×(n+1)) // 2. It directly calculates the sum without needing loops or recursion.
Yes, you can use a for loop to iterate through the numbers from 1 to n and add them together. This is a simple and common method.
You can use a for loop like this: sum_n += i where i ranges from 1 to n. Each iteration adds i to the total sum.
Yes, recursion is an elegant way to calculate the sum of n natural numbers in Python by breaking down the problem into smaller subproblems.
The base case in recursion is when n == 1, returning 1, as the sum of the first 1 number is just 1.
Using the formula is the most efficient method, as it calculates the sum in constant time O(1) without needing loops or recursion.
The loop method iterates through numbers, making it slower for large n, whereas the formula method calculates the sum directly, offering a faster solution.
Yes, you can use a while loop to calculate the sum. It’s similar to the for loop but allows more flexible conditions for stopping the iteration.
The formula (n×(n+1)) // 2 is the most efficient, as it calculates the sum directly in constant time.
Take our Free Quiz on Python
Answer quick questions and assess your Python knowledge
Author
Talk to our experts. We are available 7 days a week, 9 AM to 12 AM (midnight)
Indian Nationals
1800 210 2020
Foreign Nationals
+918068792934
1.The above statistics depend on various factors and individual results may vary. Past performance is no guarantee of future results.
2.The student assumes full responsibility for all expenses associated with visas, travel, & related costs. upGrad does not provide any a.