Challenge: Default Argument Debugger
In Python, mutable default arguments can lead to subtle bugs that are often hard to spot. When you use a mutable object such as a list or dict as a default value for a function parameter, Python only creates that object once—at the time the function is defined, not each time the function is called. This can cause the function to share the same object across multiple calls, resulting in unexpected behavior.
Your task is to examine some functions that use mutable default arguments and refactor them so that each call to the function gets a new object, preventing unintended side effects.
Swipe to start coding
Refactor the provided functions to avoid using mutable default arguments. Your goal is to ensure that each call to the function creates a new list or dictionary if none is provided by the caller.
- Replace any mutable default argument with
None. - Inside the function, check if the parameter is
Noneand, if so, assign a new empty list or dictionary as appropriate. - Ensure that the function's behavior remains unchanged except for the fix.
- Use the provided string templates for printing output:
Current items: {items}Current mapping: {mapping}
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 5.26
Challenge: Default Argument Debugger
Sveip for å vise menyen
In Python, mutable default arguments can lead to subtle bugs that are often hard to spot. When you use a mutable object such as a list or dict as a default value for a function parameter, Python only creates that object once—at the time the function is defined, not each time the function is called. This can cause the function to share the same object across multiple calls, resulting in unexpected behavior.
Your task is to examine some functions that use mutable default arguments and refactor them so that each call to the function gets a new object, preventing unintended side effects.
Swipe to start coding
Refactor the provided functions to avoid using mutable default arguments. Your goal is to ensure that each call to the function creates a new list or dictionary if none is provided by the caller.
- Replace any mutable default argument with
None. - Inside the function, check if the parameter is
Noneand, if so, assign a new empty list or dictionary as appropriate. - Ensure that the function's behavior remains unchanged except for the fix.
- Use the provided string templates for printing output:
Current items: {items}Current mapping: {mapping}
Løsning
Takk for tilbakemeldingene dine!
single