Bird
Raised Fist0
Pythonprogramming~10 mins

Parameters and arguments in Python - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to define a function named greet that takes one parameter called name.

Python
def greet([1]):
    print(f"Hello, {name}!")
Drag options to blanks, or click blank then click option'
Amessage
Buser
Cname
Dgreeting
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using a different parameter name than the one used inside the function.
Forgetting to put a parameter inside the parentheses.
2fill in blank
medium

Complete the code to call the function greet with the argument 'Alice'.

Python
greet([1])
Drag options to blanks, or click blank then click option'
A"Alice"
BAlice
Cname
D'name'
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Passing the argument without quotes, which causes a NameError.
Passing the parameter name instead of the actual argument.
3fill in blank
hard

Fix the error in the function definition by completing the parameter list correctly.

Python
def add_numbers([1]):
    return a + b
Drag options to blanks, or click blank then click option'
Aa b
Ba, b
Ca; b
Da+b
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using spaces or other symbols instead of commas between parameters.
Writing parameters without any separator.
4fill in blank
hard

Fill both blanks to create a function that returns the product of two numbers x and y.

Python
def multiply([1], [2]):
    return x * y
Drag options to blanks, or click blank then click option'
Ax
By
Ca
Db
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using different parameter names than those used in the return statement.
Mixing up the order of parameters.
5fill in blank
hard

Complete the code to create a function that returns a dictionary with keys as uppercase names and values as ages greater than 18.

Python
def filter_adults(data):
    return {name.upper(): age for name, age in data.items() if age [1] 18}
Drag options to blanks, or click blank then click option'
A{
B>
C<
D[
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using square brackets instead of curly braces for dictionary comprehension.
Using the wrong comparison operator in the condition.

Practice

(1/5)
1. What is the role of parameters in a Python function?
easy
A. They are variables defined outside the function.
B. They are placeholders to receive values when the function is called.
C. They are the actual values passed to the function.
D. They are the output values returned by the function.

Solution

  1. Step 1: Understand what parameters are

    Parameters are names used in the function definition to hold values passed in.
  2. Step 2: Differentiate parameters from arguments

    Arguments are the actual values given when calling the function, parameters receive them.
  3. Final Answer:

    They are placeholders to receive values when the function is called. -> Option B
  4. Quick Check:

    Parameters = placeholders [OK]
Hint: Parameters are names in function definition, not actual values. [OK]
Common Mistakes:
  • Confusing parameters with arguments
  • Thinking parameters are outputs
  • Mixing parameters with global variables
2. Which of the following is the correct way to define a function with two parameters a and b in Python?
easy
A. function my_func(a, b):
B. def my_func[a, b]:
C. def my_func(a, b):
D. def my_func(a b):

Solution

  1. Step 1: Recall Python function syntax

    Functions are defined using def keyword, parameters inside parentheses separated by commas.
  2. Step 2: Check each option

    def my_func(a, b): uses correct syntax: def my_func(a, b):. Others have syntax errors.
  3. Final Answer:

    def my_func(a, b): -> Option C
  4. Quick Check:

    def + (params separated by commas) = correct [OK]
Hint: Use def and parentheses with commas for parameters. [OK]
Common Mistakes:
  • Using square brackets instead of parentheses
  • Omitting commas between parameters
  • Using wrong keywords like 'function'
3. What will be the output of the following code?
def greet(name):
    return f"Hello, {name}!"

print(greet("Alice"))
medium
A. Hello, Alice!
B. Hello, name!
C. greet(Alice)
D. Error: name not defined

Solution

  1. Step 1: Understand the function call

    The function greet takes one parameter name and returns a greeting string with that name.
  2. Step 2: Substitute the argument value

    Calling greet("Alice") passes "Alice" as the argument, so the returned string is "Hello, Alice!".
  3. Final Answer:

    Hello, Alice! -> Option A
  4. Quick Check:

    Argument replaces parameter in output [OK]
Hint: Arguments fill parameters; output shows argument value. [OK]
Common Mistakes:
  • Printing parameter name instead of argument value
  • Confusing function name with output
  • Expecting error due to missing quotes
4. Identify the error in this function call:
def add(x, y):
    return x + y

result = add(5)
medium
A. Missing one argument in the function call.
B. Function name is incorrect.
C. Parameters should be strings.
D. No error, code runs fine.

Solution

  1. Step 1: Check function definition

    The function add requires two parameters: x and y.
  2. Step 2: Check function call arguments

    The call add(5) provides only one argument, missing the second one.
  3. Final Answer:

    Missing one argument in the function call. -> Option A
  4. Quick Check:

    Parameters count must match arguments count [OK]
Hint: Count parameters and arguments; they must match. [OK]
Common Mistakes:
  • Assuming missing arguments default to zero
  • Thinking function name is wrong
  • Ignoring argument count mismatch
5. Consider this function:
def multiply(a, b=2):
    return a * b

print(multiply(4))
print(multiply(4, 3))

What will be the output and why?
hard
A. Error; cannot mix default and non-default parameters.
B. 6 and 12; default parameter is ignored.
C. 8 and 8; default parameter always used.
D. 8 and 12; second argument overrides default parameter.

Solution

  1. Step 1: Understand default parameters

    Parameter b has a default value 2, used if no argument is given.
  2. Step 2: Analyze each function call

    First call multiply(4) uses default b=2, so 4*2=8.
    Second call multiply(4, 3) overrides default with 3, so 4*3=12.
  3. Final Answer:

    8 and 12; second argument overrides default parameter. -> Option D
  4. Quick Check:

    Default parameters used unless overridden [OK]
Hint: Default parameters fill missing arguments; explicit arguments override. [OK]
Common Mistakes:
  • Thinking default parameters are always used
  • Believing mixing default and non-default causes error
  • Ignoring argument overriding default