pythonintermediate10 minutes

Fix Bug in List Squaring Function with Incorrect Loop

This debugging challenge requires identifying and fixing a bug in a Python function that squares each element of a list but returns incorrect results due to loop errors.

Challenge prompt

The provided function `square_elements` is intended to take a list of integers and return a new list where each element is squared. However, the current implementation returns an incorrect list or throws an error. Diagnose the bug, fix the code, and ensure the function works as expected for any input list of integers.

Guidance

  • Review how the loop iterates through the list indices or elements.
  • Check if the function returns the new list at the appropriate time.
  • Make sure to avoid modifying the original list if not intended.

Hints

  • Consider whether the for-loop is iterating over the correct variable and range.
  • Check if the return statement is inside the loop, potentially causing premature returns.

Starter code

def square_elements(numbers):
    result = []
    for i in range(len(numbers)):
        result.append(numbers[i] * numbers[i])
        return result

Expected output

[1, 4, 9, 16]

Core concepts

loopslistsfunction return values

Challenge a Friend

Send this duel to someone else and see if they can solve it.