如何在 Python 中减去不同函数的结果?
How do I subract results from different functions from each other in Python?
我有一个已写出的函数,我想对其执行数学运算,就像我对数字进行运算一样。
例如,对于下面的代码,我想采用 Sup(3) - Sup(2) = 结果,但这不起作用。我可以采用我定义的函数并对它们执行数学运算,就像我们可以对数字执行数学运算一样 (i.g, 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?
我可以使用我定义的函数对它们执行数学运算,就像我们对数字执行数学运算一样吗?
是的,你可以,假设你的函数 return 数字。
这是什么意思?
正如评论中指出的那样,这意味着您的函数没有 return 任何东西。将 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)
我有一个已写出的函数,我想对其执行数学运算,就像我对数字进行运算一样。
例如,对于下面的代码,我想采用 Sup(3) - Sup(2) = 结果,但这不起作用。我可以采用我定义的函数并对它们执行数学运算,就像我们可以对数字执行数学运算一样 (i.g, 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?
我可以使用我定义的函数对它们执行数学运算,就像我们对数字执行数学运算一样吗? 是的,你可以,假设你的函数 return 数字。
这是什么意思?
正如评论中指出的那样,这意味着您的函数没有 return 任何东西。将 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)