用闭包实现y=a*(x**2)+b*x+c
时间: 2024-05-15 22:10:30 浏览: 152
实现A*算法
闭包是指在函数内部定义另一个函数,并且内部函数可以访问外部函数的变量和参数。使用闭包可以实现一些特殊的功能,例如装饰器、工厂函数等。
对于题目中的函数,我们可以使用闭包来实现。具体实现方式如下:
```python
def get_func(a, b, c):
def func(x):
return a * (x ** 2) + b * x + c
return func
```
这个代码定义了一个名为`get_func`的函数,它有三个参数`a`、`b`和`c`,分别表示二次项系数、一次项系数和常数项。`get_func`函数返回一个内部函数`func`,这个内部函数接受一个参数`x`,计算并返回二次方程的值。
使用这个函数可以得到一个二次方程的计算函数,例如:
```python
f = get_func(1, 2, 3)
print(f(0)) # 输出 3
print(f(1)) # 输出 6
print(f(2)) # 输出 11
```
这个例子中,我们使用`get_func(1, 2, 3)`得到一个计算y=x^2+2x+3的函数`f`。然后分别计算x=0、x=1和x=2时的y值,并输出结果。
阅读全文