Sum in a for loop in Python #
To sum in a for loop in Python:
- Declare a new variable and set it to 0.
- Use a for loop to iterate over a sequence of numbers.
- Reassign the variable to its value plus the current number.
Copied!
my_list = [2, 4, 6, 8] # ✅ sum using a for loop total = 0 for num in my_list: total += num print(total) # 👉️ 20 # ---------------------- # ✅ sum numbers in range using a for loop total_2 = 0 for num in range(1, 5): total_2 += num print(total_2) # 👉️ 10 print(list(range(1, 5))) # 👉️ [1, 2, 3, 4] # ---------------------- # ✅ sum numbers taken from user input using a for loop # 👇️ user enters 1 2 3 4 user_input = input('Enter space-separated numbers:') my_list = list(map(int, user_input.split())) print(my_list) # 👉️ [1, 2, 3, 4] total_3 = 0 for num in my_list: total_3 += num print(total_3) # 👉️ 10We used a for loop to sum the numbers in a list.
The first step is to declare a new variable and initialize it to 0.
On each iteration, we use the += operator to reassign the variable to its current value plus the current number.
The following 2 lines of code achieve the same result:
- total += num
- total = total + num
Here is an example that uses the longer reassignment syntax.
Copied!
my_list = [2, 4, 6, 8] total = 0 for num in my_list: total = total + num print(total) # 👉️ 20If you need to add the numbers in a certain range using a for loop, create the range with the range() class.
Copied!
total_2 = 0 for num in range(1, 5): total_2 += num print(total_2) # 👉️ 10 print(list(range(1, 5))) # 👉️ [1, 2, 3, 4]The range class is commonly used for looping a specific number of times in for loops and takes the following parameters:
start | An integer representing the start of the range (defaults to 0) |
stop | Go up to, but not including the provided integer |
step | Range will consist of every N numbers from start to stop (defaults to 1) |
If you need to sum numbers taken from user input in a for loop, use the input() function.
Copied!
# 👇️ user enters 1 2 3 4 user_input = input('Enter space-separated numbers:') my_list = list(map(int, user_input.split())) print(my_list) # 👉️ [1, 2, 3, 4] total_3 = 0 for num in my_list: total_3 += num print(total_3) # 👉️ 10The input function takes an optional prompt argument and writes it to standard output without a trailing newline.
The input() function is guaranteed to return a string even if the user enters a number.
We ued the str.split() function to split the string on each space.
The str.split() method splits the string into a list of substrings using a delimiter.
The method takes the following 2 parameters:
separator | Split the string into substrings on each occurrence of the separator |
maxsplit | At most maxsplit splits are done (optional) |
If the separator is not found in the string, a list containing only 1 element is returned.
We used a whitespace separator in the example, but you use any other separator that suits your use case.
Here is an example that splits the user-provided string on each comma.
Copied!
# 👇️ user enters 1,2,3,4 user_input = input('Enter comma-separated numbers:') my_list = list(map(int, user_input.split(','))) print(my_list) # 👉️ [1, 2, 3, 4] total_3 = 0 for num in my_list: total_3 += num print(total_3) # 👉️ 10After splitting the string, we get a list of strings, so we used the map() function to convert each string in the list to an integer.
Copied!
# 👇️ user enters 1,2,3,4 user_input = input('Enter comma-separated numbers:') # 👇️ ['1', '2', '3', '4'] print(user_input.split(','))The map() function takes a function and an iterable as arguments and calls the function with each item of the iterable.
The map() function passes each string to the int() class and converts it to an integer.