Practice Parameters in CS Thinking

Use these practice problems to test your method after reviewing the concept explanation and worked examples.

Quick Recap

Named values declared in a function definition that act as placeholders for the actual data (arguments) passed in when the function is called. Parameters allow the same function to operate on different data each time it is invoked.

The blanks you fill in when using a function. Like a form with fields.

Showing a random 20 of 50 problems.

Example 1

challenge
`def f(x, y=x+1): return y`. Why does this definition raise an error at definition time?

Example 2

medium
`def f(a, b, c=0): return a+b+c`. Which call is INVALID: `f(1,2)`, `f(1,2,3)`, `f(1)`?

Example 3

easy
`def add(x, y): return x + y`. What is `add(4, 6)`?

Example 4

easy
`def f(a, b): return a - b`. What is `f(10, 3)`?

Example 5

medium
Why does passing `f(2, 3)` to `def f(width, height): return width*height` work, but the variable names at the call site don't matter?

Example 6

challenge
`def swap(a, b): a, b = b, a` is called as `swap(x, y)` with `x=1, y=2`. After the call, what are `x` and `y`?

Example 7

medium
`def f(name, age=12, grade='A'): return f"{name}-{age}-{grade}"`. What does `f('Lee', grade='B')` return?

Example 8

medium
`def f(a, b): return a * 10 + b`. What is `f(3, 7)`?

Example 9

medium
`def f(a, b, c): return a + 2*b + 3*c`. What is `f(1, 2, 3)`?

Example 10

easy
Pattern: same function, different arguments. `def square(n): return n*n`. Trace `square(3)`, `square(7)`, `square(10)`.

Example 11

easy
True or false: parameters are values that exist at the call site, while arguments live in the function definition.

Example 12

medium
`def f(a, b, c=10): return a + b + c`. What is `f(1, 2, 5)`?

Example 13

easy
`def f(a, b=5): return a + b`. What is `f(2)`?

Example 14

hard
Trace: `def f(n, acc=0): if n == 0: return acc; return f(n-1, acc+n)`. What is `f(4)`?

Example 15

easy
What is the output of the following? FUNCTION greet(name): OUTPUT 'Hello, ' + name. greet('Alice'). greet('Bob').

Example 16

medium
In `def f(**kwargs): return kwargs`, called as `f(a=1, b=2)`, what type is `kwargs`?

Example 17

medium
`def f(*nums): return sum(nums)`. What is `f(1, 2, 3, 4)`?

Example 18

medium
`def f(a, b): a = a + 1; return a + b`. After `x = 5; f(x, 1)`, what is `x`?

Example 19

easy
`def greet(name): return 'Hi ' + name`. What does `greet('Sam')` return?

Example 20

challenge
Design a function `clamp(value, lo=0, hi=100)` that returns value bounded between lo and hi. Trace `clamp(150)` and `clamp(-3, lo=-10, hi=10)`.