如何在Python中调用另一个函数中的函数?

时间:2015-09-28 06:58:42

标签: python

我正在学习这个Python,我是新手。 我正在解决一个类似这样的问题:

Q1。)编写一个Python函数evalQuadratic(a,b,c,x),它返回二次方a * x ** 2 + *⋅x+ c的值。 此函数接收四个数字并返回一个数字。 我的解决方案:

def evalQuadratic(a, b, c, x):
    '''
    a, b, c: numerical values for the coefficients of a quadratic equation
    x: numerical value at which to evaluate the quadratic.
    '''
    return ((a*(x*x))+(b*x)+c)

现在这部分很好。 还有一个问题是这样的:

Q2。)编写一个Python函数,twoQuadratics,它接受两组系数和x值,并打印评估两个二次方程的结果之和。它没有做任何其他事情。也就是说,您应该评估并打印以下等式的结果:a1 * x1 2 + b1 * x1 + c1 + a2 * x2 2 + b2 * x2 + c2 您应该使用在" Quadratic"中定义的evalQuadratic函数。这些练习的问题(你不需要在这个框中重新定义evalQuadratic;当你调用evalQuadratic时,我们将使用我们的定义。)

我的解决方案:

def twoQuadratics(a1, b1, c1, x1, a2, b2, c2, x2):
    '''
    a1, b1, c1: one set of coefficients of a quadratic equation
    a2, b2, c2: another set of coefficients of a quadratic equation
    x1, x2: values at which to evaluate the quadratics
    '''
    for i in range(2):
        return evalQuadratic(a1, b1, c1, x1) + evalQuadratic(a2, b2 ,c2, x2)

我不知道代码有什么问题,实际上它在我的电脑上的Canopy IDE上运行正常,但在网上编辑器中没有返回任何内容,我需要提供解决方案。

2 个答案:

答案 0 :(得分:0)

您的规范说:

  

写一个Python函数,twoQuadratics,它接受两组系数和x值,打印评估两个二次方程的结果之和

注意这个术语:它是“打印”而不是“返回”,所以这里的预期是非常肯定的:

def twoQuadratics(a1, b1, c1, x1, a2, b2, c2, x2):
    print(evalQuadratic(a1, b1, c1, x1) + evalQuadratic(a2, b2 ,c2, x2))

答案 1 :(得分:-1)

在这里,您可以将输入作为dict列表,这样您的功能就可以了。所以你的功能会更通用。

enter [{
  'a':2,
  'b':3,
  'c':5,
  'x':10,
 },
 {
   'a':4,
   'b':7,
   'c':5,
   'x':10,
 }]
def my_fun(co_list):
  sum = 0
  for co in co_list:
    sum = sum + evalQuadratic(co['a'], co['b'], co['c'], co['x'])
return sum here