TypeError:“int”对象不可调用

新手上路,请多包涵

给定以下整数和计算

from __future__ import division

a = 23
b = 45
c = 16

round((a/b)*0.9*c)

这导致:

 TypeError: 'int' object is not callable.

如何将输出舍入为整数?

原文由 rob 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 968
2 个回答

在您的代码中的其他地方,您有如下所示的内容:

 round = 42

然后当你写

round((a/b)*0.9*c)

这被解释为意味着对绑定到 round 的对象的函数调用,这是一个 int 。那失败了。

问题是任何代码将 int 绑定到名称 round 。找到并删除它。

原文由 David Heffernan 发布,翻译遵循 CC BY-SA 3.0 许可协议

我得到了同样的错误(TypeError:’int’对象不可调用)

 def xlim(i,k,s1,s2):
   x=i/(2*k)
   xl=x*(1-s2*x-s1*(1-x)) / (1-s2*x**2-2*s1*x(1-x))
   return xl
... ... ... ...

>>> xlim(1,100,0,0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in xlim
TypeError: 'int' object is not callable

看完这篇文章后,我意识到我忘记了一个乘号 \* 所以

def xlim(i,k,s1,s2):
   x=i/(2*k)
   xl=x*(1-s2*x-s1*(1-x)) / (1-s2*x**2-2*s1*x * (1-x))
   return xl

xlim(1.0,100.0,0.0,0.0)
0.005

坦克

原文由 Tomate 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题