📖 Scenario: You have a list of product IDs in a store's inventory. You want to find if a specific product ID is available.
🎯 Goal: Build a simple program that uses linear search to find the position of a product ID in the list.
📋 What You'll Learn
Create a list called product_ids with these exact values: 101, 203, 405, 502, 305
Create a variable called target_id and set it to 502
Use a for loop with variables index and product to iterate over enumerate(product_ids)
Inside the loop, use an if statement to check if product equals target_id
If found, set a variable found_index to index and break the loop
If not found after the loop, set found_index to -1
Print the value of found_index
💡 Why This Matters
🌍 Real World
Stores and warehouses often need to check if a product is available by searching through their inventory lists.
💼 Career
Understanding linear search helps in basic data lookup tasks and is a foundation for learning more efficient search algorithms.
Progress0 / 4 steps
1
Create the product ID list
Create a list called product_ids with these exact values: 101, 203, 405, 502, 305
DSA Python
Hint
Use square brackets [] to create the list and separate numbers with commas.
2
Set the target product ID
Create a variable called target_id and set it to 502
DSA Python
Hint
Use the assignment operator = to set target_id to 502.
3
Implement linear search loop
Use a for loop with variables index and product to iterate over enumerate(product_ids). Inside the loop, use an if statement to check if product equals target_id. If found, set a variable found_index to index and break the loop. If not found after the loop, set found_index to -1.
DSA Python
Hint
Initialize found_index to -1 before the loop. Use enumerate() to get both index and product.
4
Print the found index
Write print(found_index) to display the position of the target product ID in the list.
DSA Python
Hint
The output should be the index where 502 is found, which is 3.
Practice
(1/5)
1. What is the main idea behind the Linear Search Algorithm?
easy
A. Sort the list first then search using binary steps
B. Divide the list into halves repeatedly to find the target
C. Check each element one by one until the target is found or list ends
D. Use a hash table to find the target instantly
Solution
Step 1: Understand linear search process
Linear search checks each element in order, one by one.
Step 2: Compare with other search methods
Binary search divides list, hash uses extra memory, linear is simple sequential check.
Final Answer:
Check each element one by one until the target is found or list ends -> Option C
Quick Check:
Linear search = sequential check [OK]
Hint: Linear search checks items one by one [OK]
Common Mistakes:
Confusing linear search with binary search
Thinking linear search requires sorted list
Assuming linear search is faster than binary search always
2. Which of the following is the correct syntax to start a linear search loop over a list arr in Python?
easy
A. for i to len(arr):
B. for i in range(arr):
C. for i in arr:
D. for i in range(len(arr)):
Solution
Step 1: Identify how to loop over indices
To access elements by index, use range(len(arr)).
Step 2: Check each option's correctness
for i in arr: loops over elements, not indices; B is invalid because range needs an integer; D is invalid syntax.
Final Answer:
for i in range(len(arr)): -> Option D
Quick Check:
Loop indices = range(len(arr)) [OK]
Hint: Use range(len(arr)) to loop indices [OK]
Common Mistakes:
Using range(arr) instead of range(len(arr))
Trying to loop with invalid syntax like 'for i to len(arr)'
Confusing looping over elements vs indices
3. What will be the output of the following code?
def linear_search(arr, target):
for i in range(len(arr)):
if arr[i] == target:
return i
return -1
print(linear_search([4, 2, 7, 1, 3], 7))
Function returns index 2 immediately when target found.
Final Answer:
2 -> Option A
Quick Check:
Index of 7 in list = 2 [OK]
Hint: Return index when target matches during loop [OK]
Common Mistakes:
Returning element value instead of index
Returning -1 even when target is present
Confusing index with element value
4. Find the error in this linear search function:
def linear_search(arr, target):
for i in range(len(arr)):
if arr[i] = target:
return i
return -1
medium
A. Using '=' instead of '==' in the if condition
B. Missing colon ':' after for loop
C. Returning -1 instead of None when not found
D. Looping over range(len(arr)) instead of arr
Solution
Step 1: Identify syntax error in condition
The if condition uses '=' which is assignment, not comparison.
Step 2: Correct operator for comparison
Use '==' to compare values in if condition.
Final Answer:
Using '=' instead of '==' in the if condition -> Option A
Quick Check:
Comparison needs '==' not '=' [OK]
Hint: Use '==' for comparison, '=' is assignment [OK]
Common Mistakes:
Using single '=' in if condition
Confusing assignment and comparison operators
Ignoring syntax errors causing runtime failure
5. You want to find all positions of a target number in a list using linear search. Which modification to the code below will achieve this?
def linear_search_all(arr, target):
positions = []
for i in range(len(arr)):
if arr[i] == target:
# What to do here?
return positions
print(linear_search_all([1, 3, 7, 3, 9, 3], 3))
hard
A. Return i immediately when target is found
B. Append index i to positions list inside the if block
C. Break the loop after first match
D. Use positions = target instead of list
Solution
Step 1: Understand requirement to find all matches
We must collect all indices where target appears, not stop at first.
Step 2: Append matching indices to list
Inside if, add positions.append(i) to store all found positions.
Final Answer:
Append index i to positions list inside the if block -> Option B
Quick Check:
Collect all indices by appending [OK]
Hint: Append all matching indices to list [OK]
Common Mistakes:
Returning immediately on first match
Breaking loop early
Assigning target to positions instead of appending
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.