0
0
Pythonprogramming~20 mins

Methods with parameters in Python - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Master of Methods with Parameters
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of method with default and positional parameters
What is the output of this Python code?
Python
class Calculator:
    def multiply(self, x, y=2):
        return x * y

calc = Calculator()
print(calc.multiply(3))
A6
B3
CTypeError
DNone
Attempts:
2 left
💡 Hint
Remember that y has a default value of 2 if not provided.
Predict Output
intermediate
2:00remaining
Output when method parameters are passed by keyword
What will this code print?
Python
class Greeter:
    def greet(self, name, greeting='Hello'):
        print(f"{greeting}, {name}!")

g = Greeter()
g.greet(greeting='Hi', name='Alice')
ATypeError
BHello, Alice!
CHi, Alice!
DHi, greeting!
Attempts:
2 left
💡 Hint
Check how keyword arguments match parameters.
Predict Output
advanced
2:00remaining
Output of method with mutable default parameter
What is the output of this code?
Python
class Collector:
    def __init__(self):
        self.items = []
    def add(self, item, collection=[]):
        collection.append(item)
        return collection

c = Collector()
print(c.add('apple'))
print(c.add('banana'))
A['apple']\n['banana']
B[]\n[]
CTypeError
D['apple']\n['apple', 'banana']
Attempts:
2 left
💡 Hint
Default mutable parameters keep their state between calls.
Predict Output
advanced
2:00remaining
Output of method using *args and **kwargs
What does this code print?
Python
class Printer:
    def show(self, *args, **kwargs):
        print(args)
        print(kwargs)

p = Printer()
p.show(1, 2, a=3, b=4)
A(1, 2)\n{'a': 3, 'b': 4}
B[1, 2]\n{'a': 3, 'b': 4}
CTypeError
D(1, 2)\n[3, 4]
Attempts:
2 left
💡 Hint
*args collects positional arguments as a tuple, **kwargs collects keyword arguments as a dict.
🧠 Conceptual
expert
3:00remaining
Understanding parameter passing and object mutation
Consider this code. What is the output after calling modify_list?
Python
def modify_list(lst):
    lst.append(4)
    lst = [1, 2, 3]
    return lst

my_list = [0]
result = modify_list(my_list)
print(my_list)
print(result)
A[0]\n[1, 2, 3, 4]
B[0, 4]\n[1, 2, 3]
C[0, 4]\n[0, 4]
D[1, 2, 3]\n[1, 2, 3]
Attempts:
2 left
💡 Hint
Think about how lists are passed by reference and reassignment inside the function.