Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What does the sum() function do in Python?
The sum() function adds all the numbers in an iterable (like a list or tuple) and returns the total.
Click to reveal answer
beginner
How do you use sum() with a list of numbers?
You pass the list to sum(). For example, sum([1, 2, 3]) returns 6.
Click to reveal answer
intermediate
What is the purpose of the optional second argument in sum(iterable, start)?
The second argument start sets the initial value to add to the sum. For example, sum([1, 2, 3], 10) returns 16.
Click to reveal answer
beginner
Can sum() be used with non-numeric data like strings?
No, sum() only works with numbers. Using it with strings causes an error. Use ''.join() for strings instead.
Click to reveal answer
beginner
What happens if you use sum() on an empty list?
If no start value is given, sum([]) returns 0 because it adds nothing to zero.
Click to reveal answer
What will sum([4, 5, 6]) return?
AError
B456
C11
D15
✗ Incorrect
sum() adds numbers, so 4 + 5 + 6 = 15.
What does sum([1, 2, 3], 5) return?
A11
B6
C1235
DError
✗ Incorrect
The sum is 1 + 2 + 3 = 6, plus the start value 5, total 11.
Which data type can sum() NOT add?
AIntegers
BFloats
CStrings
DLists of numbers
✗ Incorrect
sum() only works with numbers, not strings.
What is the default start value in sum() if not provided?
A0
BNone
C1
DEmpty string
✗ Incorrect
The default start value is 0, so sum starts adding from zero.
What will sum([]) return?
ANone
B0
CError
DEmpty list
✗ Incorrect
An empty list sums to 0 by default.
Explain how the sum() function works and how to use its optional start value.
Think about adding numbers in a list and starting from a number other than zero.
You got /3 concepts.
Describe what happens if you use sum() on an empty list and why.
Consider what adding nothing to zero results in.
You got /3 concepts.
Practice
(1/5)
1. What does the sum() function do in Python?
easy
A. Counts the number of elements in an iterable
B. Multiplies all numbers in an iterable
C. Adds all numbers in an iterable and returns the total
D. Finds the largest number in an iterable
Solution
Step 1: Understand the purpose of sum()
The sum() function takes an iterable like a list or tuple and adds all its numbers together.
Step 2: Compare options with the function's behavior
Only Adds all numbers in an iterable and returns the total correctly describes adding all numbers and returning the total.
Final Answer:
Adds all numbers in an iterable and returns the total -> Option C
Quick Check:
sum() adds numbers [OK]
Hint: Remember: sum() adds, not multiplies or counts [OK]
Common Mistakes:
Confusing sum() with multiplication
Thinking sum() counts elements
Assuming sum() finds max value
2. Which of the following is the correct syntax to sum numbers in a list nums starting from 10?
easy
A. sum(nums, 10)
B. sum(10, nums)
C. sum(nums + 10)
D. sum(start=10, nums)
Solution
Step 1: Recall the sum() function signature
The sum() function syntax is sum(iterable, start=0), where the second argument is the starting value.
Step 2: Identify correct argument order
sum(nums, 10) uses sum(nums, 10), which correctly passes the iterable first and start second.
Final Answer:
sum(nums, 10) -> Option A
Quick Check:
sum(iterable, start) = sum(nums, 10) [OK]
Hint: Iterable first, start second in sum() [OK]
Common Mistakes:
Swapping the order of arguments
Using plus sign inside sum()
Using keyword argument incorrectly
3. What is the output of the following code?
numbers = [2, 4, 6]
result = sum(numbers, 5)
print(result)
medium
A. Error
B. 12
C. 11
D. 17
Solution
Step 1: Calculate sum of list elements
The list numbers contains 2, 4, and 6. Their sum is 2 + 4 + 6 = 12.
Step 2: Add the start value
The start value is 5, so total is 12 + 5 = 17.
Final Answer:
17 -> Option D
Quick Check:
sum([2,4,6],5) = 17 [OK]
Hint: Add start value after summing list [OK]
Common Mistakes:
Forgetting to add the start value
Adding start value before summing
Assuming sum returns list length
4. The code below throws an error. What is the problem?
values = [1, 2, '3', 4]
total = sum(values)
medium
A. sum() requires a start argument
B. List contains a string which cannot be added
C. sum() only works with tuples
D. Missing parentheses in sum() call
Solution
Step 1: Check list element types
The list values contains integers and a string '3'. sum() cannot add strings to numbers.
Step 2: Understand sum() type requirements
sum() requires all elements to be numbers. Mixing types causes a TypeError.
Final Answer:
List contains a string which cannot be added -> Option B
Quick Check:
sum() needs all numbers [OK]
Hint: Ensure all list items are numbers before sum() [OK]
Common Mistakes:
Ignoring mixed data types
Thinking sum() needs start argument
Assuming sum() works on strings
5. You have a list of daily sales: sales = [100, 200, 0, 150, 300]. You want to calculate the total sales but ignore days with zero sales. Which code correctly uses sum() to do this?
hard
A. sum(sale for sale in sales if sale != 0)
B. sum(sales) - sales.count(0)
C. sum(sales, 0) if 0 not in sales else 0
D. sum(sales) / sales.count(0)
Solution
Step 1: Filter out zero sales using a generator expression
The expression sale for sale in sales if sale != 0 creates a sequence of sales excluding zeros.
Step 2: Use sum() on filtered sales
sum() adds only the non-zero sales, giving the correct total.
Final Answer:
sum(sale for sale in sales if sale != 0) -> Option A
Quick Check:
sum(filtered sales) = correct total [OK]
Hint: Use sum() with condition inside generator [OK]
Common Mistakes:
Subtracting the count of zeros instead of filtering