python - 如何在 Python 中将不同函数的结果相减?
问题描述
我有一个我已经写出来的函数,并且想对它执行数学运算,就像我对数字一样。
例如,使用下面的代码,我想采用 Sup(3) - Sup(2) = result,但这不起作用。我可以使用我定义的函数并对它们执行数学运算,就像我们可以对数字执行数学运算一样(例如,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
到您的功能应该可以解决问题:
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)
推荐阅读
- c++ - 为什么 std::foreach 不能与 std::vector 一起使用
? - elasticsearch - 匹配同一字段中的多个值
- java - 如何在 StreamingOutput 的 Web 服务中保持客户端和服务器连接处于活动状态
- c++ - 在 h 文件上内联发布版本和在 cpp 上实现调试版本的函数
- angular - Angular Web应用程序-打字稿http数据问题
- python-3.5 - 使用 python3 对文件进行编码和上传到服务器的最佳方法是什么?
- android - 无法创建简单的数据库
- apache-kafka - 如何使用 Vertx Pump() 将文件流连接到 Kafka 生产者流?
- ckeditor - ckeditor 删除带有列表的内容
- javascript - 这个函数如何反转这个字符串?