首页 > 解决方案 > 如何使用函数将传递给另一个函数的参数平方?

问题描述

# Use the square_args() function to square the arguments passed to multiply().
def square_args(func):
  def inner(a, b):
    return func(a * 2, b * 2)
  return inner

#WRITE YOUR CODE HERE

def multiply(a, b):
  return a * b
  
multiply(3, 9)

我需要使用这些函数来获得答案 729。

标签: pythonfunction

解决方案


这是我的答案:

def square_args(func):
    def inner(*args):
        args = [arg ** 2 if isinstance(arg, (int, float)) else arg for arg in args]
        return func(*args)
    return inner

@square_args
def multiply(a, b):
    return a * b
  
print(multiply(3, 9))

你只需要@square_args在你的函数声明前面加上每个传入的参数都会被平方。 square_args是一名装饰师。


推荐阅读