Fix an error and show it please? And here are the information about the homework and for the error too. def kwargs_to_args_decorator(*args, **kwargs): This question is meant to test your knowledge of creating a decorator that accepts an arbitrary number of positional and keyword arguments, to decorate a function that accepts an arbitrary number of positional and keyword arguments, and alters the arguments before passing them to the decorated function. When the decorated function is invoked, this decorator should modify the arguments the decorated function receives. This decorator should filter out all positional arguments passed to the decorated function, which are found in the positional arguments passed to the decorator when the decorator was initialized. It should also filter out all keyword arguments with keys that are found in the keyword arguments given to the decorator when the decorator was initialized. After performing the modifications to the arguments, the decorator should invoke the decorated function with the modified arguments and return the value of the decorated function.      Examples: args = (96, 6, 34) kwargs = {'taco': 'showman', 'potato': 'walkway', '96': '5'} This should raise a type error because the first positional argument is not a str. args = ('TRZJRE6MLCDN', 10, 88, 49) kwargs = {'taco': 'Juneau', 'potato': 'conservative', 'TRZJRE6MLCDN': 'V'} This should raise a value error because the first positional argument is greater then 10 charactures. args = ('3I7', 'dean', 48, 'bream', 62, 'cryostat', 31, 'Bruegel', 16, 'delicatessen', 6, 'Millie', 12, 'loss', 70) kwargs = {'taco': 'Heidegger', 'potato': 'grim', '3I7': 'P'} This should raise a type error because the positional arguments after the first value are not of type int. args = ('BPW', -77, -71, -81, -31, -21) kwargs = {'taco': 'feeble', 'potato': 'geyser', 'BPW': 'U'} This should raise a value error because the positional arguments after the first value are less than zero. args = ('V', 83, 91, 17, 1, 59, 49, 86, 62, 63) kwargs = {'potato': 'virulent', 'V': 'J'} This should raise a key error because the key 'taco' is missing in the key word arguments. args = ('Z', 23, 20, 82, 11) kwargs = {'taco': 'Permian', 'Z': 'H'} This should raise a key error because the key 'potato' is missing in the key word arguments. args = ('J', 90, 83, 61, 27) kwargs = {'taco': 'imputation', 'potato': 'indolent'} This should raise a key error because a key equal to the first positional argument, is missing in the key word arguments. args = ('88', 56, 69, 29, 97, 79) kwargs = {'taco': 'Conant', 'potato': 'strung', '88': 90} This should raise a key error because the value associated with the key equal to the first positional argument is not a str. args = ('FMF', 47) kwargs = {'taco': 'gazpacho', 'potato': 'bunkmate', 'FMF': 'JYMQEC37LSLX'} This should raise a key error because the value associated with the key equal to the first positional argument is more then 10 charactures. args = () kwargs = {'taco': 'smuggle', 'potato': 'committeemen'} This is valid input args = ('BYJT', 36, 29) kwargs = {'taco': 'phosgene', 'potato': 'pastel', 'BYJT': 'C'} This is valid input args = ('018J',) kwargs = {'taco': 'Marx', 'potato': 'tetrafluoride', '018J': 'D'} This is valid input

Programming with Microsoft Visual Basic 2017
8th Edition
ISBN:9781337102124
Author:Diane Zak
Publisher:Diane Zak
Chapter6: Sub And Function Procedures
Section: Chapter Questions
Problem 12RQ
icon
Related questions
Question
Fix an error and show it please? And here are the information about the homework and for the error too. def kwargs_to_args_decorator(*args, **kwargs): This question is meant to test your knowledge of creating a decorator that accepts an arbitrary number of positional and keyword arguments, to decorate a function that accepts an arbitrary number of positional and keyword arguments, and alters the arguments before passing them to the decorated function. When the decorated function is invoked, this decorator should modify the arguments the decorated function receives. This decorator should filter out all positional arguments passed to the decorated function, which are found in the positional arguments passed to the decorator when the decorator was initialized. It should also filter out all keyword arguments with keys that are found in the keyword arguments given to the decorator when the decorator was initialized. After performing the modifications to the arguments, the decorator should invoke the decorated function with the modified arguments and return the value of the decorated function.      Examples: args = (96, 6, 34) kwargs = {'taco': 'showman', 'potato': 'walkway', '96': '5'} This should raise a type error because the first positional argument is not a str. args = ('TRZJRE6MLCDN', 10, 88, 49) kwargs = {'taco': 'Juneau', 'potato': 'conservative', 'TRZJRE6MLCDN': 'V'} This should raise a value error because the first positional argument is greater then 10 charactures. args = ('3I7', 'dean', 48, 'bream', 62, 'cryostat', 31, 'Bruegel', 16, 'delicatessen', 6, 'Millie', 12, 'loss', 70) kwargs = {'taco': 'Heidegger', 'potato': 'grim', '3I7': 'P'} This should raise a type error because the positional arguments after the first value are not of type int. args = ('BPW', -77, -71, -81, -31, -21) kwargs = {'taco': 'feeble', 'potato': 'geyser', 'BPW': 'U'} This should raise a value error because the positional arguments after the first value are less than zero. args = ('V', 83, 91, 17, 1, 59, 49, 86, 62, 63) kwargs = {'potato': 'virulent', 'V': 'J'} This should raise a key error because the key 'taco' is missing in the key word arguments. args = ('Z', 23, 20, 82, 11) kwargs = {'taco': 'Permian', 'Z': 'H'} This should raise a key error because the key 'potato' is missing in the key word arguments. args = ('J', 90, 83, 61, 27) kwargs = {'taco': 'imputation', 'potato': 'indolent'} This should raise a key error because a key equal to the first positional argument, is missing in the key word arguments. args = ('88', 56, 69, 29, 97, 79) kwargs = {'taco': 'Conant', 'potato': 'strung', '88': 90} This should raise a key error because the value associated with the key equal to the first positional argument is not a str. args = ('FMF', 47) kwargs = {'taco': 'gazpacho', 'potato': 'bunkmate', 'FMF': 'JYMQEC37LSLX'} This should raise a key error because the value associated with the key equal to the first positional argument is more then 10 charactures. args = () kwargs = {'taco': 'smuggle', 'potato': 'committeemen'} This is valid input args = ('BYJT', 36, 29) kwargs = {'taco': 'phosgene', 'potato': 'pastel', 'BYJT': 'C'} This is valid input args = ('018J',) kwargs = {'taco': 'Marx', 'potato': 'tetrafluoride', '018J': 'D'} This is valid input
30
31
32
33
34
35
36
37
38
30
def kwargs_to_args_decorator (*args, **kwargs):
def decorator(func):
def wrapper (*inner_args, **inner_kwargs):
args = tuple(args)
kwargs = dict(kwargs. items())
return func(*inner_args, **inner_kwargs)
return wrapper
return decorator
Transcribed Image Text:30 31 32 33 34 35 36 37 38 30 def kwargs_to_args_decorator (*args, **kwargs): def decorator(func): def wrapper (*inner_args, **inner_kwargs): args = tuple(args) kwargs = dict(kwargs. items()) return func(*inner_args, **inner_kwargs) return wrapper return decorator
Error
Unbound Local Error
local variable 'args' referenced before assignment
Transcribed Image Text:Error Unbound Local Error local variable 'args' referenced before assignment
Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Arrays
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Programming with Microsoft Visual Basic 2017
Programming with Microsoft Visual Basic 2017
Computer Science
ISBN:
9781337102124
Author:
Diane Zak
Publisher:
Cengage Learning
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning