如何在Python中相互减去不同函数的结果?

问题描述 投票:0回答:1

我有一个函数,我已经写出来并希望对它进行数学运算,就像我可以用数字一样。

例如,使用下面的代码,我想采取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?
python list math operators subtraction
1个回答
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)

© www.soinside.com 2019 - 2024. All rights reserved.