Bird
Raised Fist0
Intro to Computingfundamentals~20 mins

Functions (reusable code blocks) in Intro to Computing - Practice Problems & Coding Challenges

Choose your learning style10 modes available

Start learning this pattern below

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
Challenge - 5 Problems
🎖️
Function Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
trace
intermediate
2:00remaining
Trace the output of a function call

What is the output of the following code when greet('Anna') is called?

Intro to Computing
def greet(name):
    message = f"Hello, {name}!"
    return message

print(greet('Anna'))
AHello, Anna!
BError: name not defined
Cgreet('Anna')
DHello, name!
Attempts:
2 left
💡 Hint

Look at how the function uses the input name inside the message.

🧠 Conceptual
intermediate
2:00remaining
Understanding function parameters and arguments

Which statement best describes the difference between a function parameter and an argument?

AA parameter is a variable in the function definition; an argument is the actual value passed when calling the function.
BA parameter is the value passed to a function; an argument is the function's output.
CA parameter and an argument are the same thing and can be used interchangeably.
DA parameter is the function's output; an argument is the function's name.
Attempts:
2 left
💡 Hint

Think about the function definition versus the function call.

Comparison
advanced
2:00remaining
Compare two function definitions

Which function definition correctly calculates the square of a number and returns it?

Intro to Computing
Option A:
def square(x):
    return x * x

Option B:
def square(x):
    print(x * x)

Option C:
def square(x):
    return x + x

Option D:
def square(x):
    return x ** 3
AOption B
BOption D
COption A
DOption C
Attempts:
2 left
💡 Hint

Remember that the square of a number is the number multiplied by itself.

identification
advanced
2:00remaining
Identify the error in the function

What error will occur when running this code?

Intro to Computing
def add_numbers(a, b):
    return a + b

result = add_numbers(5)
print(result)
ASyntaxError: invalid syntax
BTypeError: missing 1 required positional argument: 'b'
CNameError: name 'result' is not defined
DNo error, output is 5
Attempts:
2 left
💡 Hint

Check how many arguments the function expects versus how many are given.

🚀 Application
expert
2:00remaining
Predict the output of nested function calls

What is the output of this code?

Intro to Computing
def multiply(x, y):
    return x * y

def add_and_multiply(a, b, c):
    return multiply(a + b, c)

result = add_and_multiply(2, 3, 4)
print(result)
A24
B14
CError: multiply function not defined
D20
Attempts:
2 left
💡 Hint

First add a and b, then multiply the sum by c.

Practice

(1/5)
1. What is the main purpose of a function in programming?
easy
A. To display output on the screen
B. To reuse a block of code multiple times
C. To store data permanently
D. To create a new variable

Solution

  1. Step 1: Understand what a function does

    A function is a reusable block of code designed to perform a specific task.
  2. Step 2: Identify the main purpose

    Functions help avoid repeating the same code by allowing reuse whenever needed.
  3. Final Answer:

    To reuse a block of code multiple times -> Option B
  4. Quick Check:

    Function purpose = reuse code [OK]
Hint: Functions help reuse code blocks easily [OK]
Common Mistakes:
  • Confusing functions with variables
  • Thinking functions store data permanently
  • Believing functions only display output
2. Which of the following is the correct way to define a function named greet that takes no inputs?
easy
A. function greet() {}
B. function greet:
C. def greet()
D. def greet():

Solution

  1. Step 1: Recognize Python function syntax

    In Python, functions are defined using the keyword def, followed by the function name and parentheses with parameters (empty if none), ending with a colon.
  2. Step 2: Check each option

    def greet(): matches Python syntax. function greet() {} and function greet: use JavaScript style or incorrect syntax. def greet() misses the colon.
  3. Final Answer:

    def greet(): -> Option D
  4. Quick Check:

    Python function = def name(): [OK]
Hint: Python functions start with def and end with colon [OK]
Common Mistakes:
  • Omitting the colon at the end
  • Using JavaScript syntax in Python
  • Leaving out parentheses
3. What will be the output of this code?
def add(x, y):
    return x + y

result = add(3, 4)
print(result)
medium
A. TypeError
B. 34
C. 7
D. None

Solution

  1. Step 1: Understand the function call

    The function add takes two inputs x and y and returns their sum.
  2. Step 2: Calculate the return value

    Calling add(3, 4) returns 3 + 4 = 7, which is stored in result. Printing result outputs 7.
  3. Final Answer:

    7 -> Option C
  4. Quick Check:

    3 + 4 = 7 [OK]
Hint: Add numbers inside function returns their sum [OK]
Common Mistakes:
  • Thinking it concatenates numbers as strings
  • Expecting a TypeError due to missing return
  • Assuming print shows None
4. Identify the error in this function definition:
def multiply(a, b)
    return a * b
medium
A. Missing colon after function header
B. Incorrect return statement
C. Function name is invalid
D. Parameters should be in square brackets

Solution

  1. Step 1: Check function header syntax

    In Python, the function header must end with a colon (:). Here, it is missing after def multiply(a, b).
  2. Step 2: Verify other parts

    The return statement and function name are correct. Parameters use parentheses, not square brackets.
  3. Final Answer:

    Missing colon after function header -> Option A
  4. Quick Check:

    Function header ends with : [OK]
Hint: Function headers always end with a colon in Python [OK]
Common Mistakes:
  • Forgetting the colon at the end
  • Using square brackets for parameters
  • Misnaming the function
5. You want to create a function that returns the square of a number only if the number is positive; otherwise, it returns zero. Which function correctly implements this?
hard
A. def square_if_positive(n): if n > 0: return n * n else: return 0
B. def square_if_positive(n): if n >= 0: return n ** 2 else: return n
C. def square_if_positive(n): return n * n if n > 0 else None
D. def square_if_positive(n): if n < 0: return n * n else: return 0

Solution

  1. Step 1: Understand the condition

    The function should return the square of n only if n is positive (greater than 0). Otherwise, it returns 0.
  2. Step 2: Check each option

    def square_if_positive(n): if n > 0: return n * n else: return 0 correctly checks n > 0 and returns n * n, else 0. def square_if_positive(n): if n >= 0: return n ** 2 else: return n includes zero as positive and returns n if negative, which is incorrect. def square_if_positive(n): return n * n if n > 0 else None returns None instead of 0 when n is not positive. def square_if_positive(n): if n < 0: return n * n else: return 0 squares negative numbers and returns 0 otherwise, which is opposite.
  3. Final Answer:

    def square_if_positive(n): if n > 0: return n * n else: return 0 -> Option A
  4. Quick Check:

    Positive n squared, else zero [OK]
Hint: Check condition n > 0, return square else zero [OK]
Common Mistakes:
  • Including zero as positive
  • Returning None instead of zero
  • Reversing the condition logic