如何在Python中将不同函数的结果相加?

时间:2019-04-07 23:09:11

标签: python list math operators subtraction

我已经编写了一个函数,并且希望对它执行数学运算,就像处理数字一样。

例如,使用下面的代码,我想采用Sup(3)-Sup(2)=结果,但这不起作用。我可以采用已经定义的函数并对它们执行数学运算,就像我们可以对数字执行数学运算(例如2 * 2 = 4)一样吗?

对于n = 2,我的结果是1.083 对于n = 3,使用下面的代码,我的结果是1.717。

def Sup(n):
    mylist = []
    for n in range (2,2**n+1):
        Su = (1/n)
        mylist.append(Su)
    #print(mylist)
    print (sum(mylist))

尝试此操作时,出现以下错误:

---> 12 Sup(2)- Sup(3)

TypeError: unsupported operand type(s) for -: 'NoneType' and 'NoneType'neType'

What does this mean?

1 个答案:

答案 0 :(得分:1)

我可以采用已经定义的函数并对它们执行数学运算,就像我们可以对数字执行数学运算一样吗? 是的,您可以假设您的函数返回数字。

这是什么意思? 如注释中所指出的,这意味着您的函数不返回任何内容。将return添加到函数中应该可以解决问题:

def Sup(n):
    mylist = []
    for n in range (2,2**n+1):
        Su = (1/n)
        mylist.append(Su)
    #print(mylist)
    print (sum(mylist))
    return sum(mylist)