TypeError: объект 'int' не вызывается

python python-2.7

218145 просмотра

4 ответа

Даны следующие целые числа и расчет

from __future__ import division

a = 23
b = 45
c = 16

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

Это приводит к:

TypeError: 'int' object is not callable.

Как я могу округлить вывод до целого числа?

Автор: rob Источник Размещён: 12.11.2019 09:51

Ответы (4)


121 плюса

Решение

Где-то еще в вашем коде у вас есть что-то похожее на это:

round = 42

Потом когда пишешь

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

это интерпретируется как значение вызова функции для объекта, к roundкоторому привязан объект int. И это не удается.

Проблема в том, какой код привязан intк имени round. Найдите это и удалите это.

Автор: David Heffernan Размещён: 19.03.2012 09:08

5 плюса

Хватит топать roundкуда-то еще, привязав intк нему.

Автор: Ignacio Vazquez-Abrams Размещён: 19.03.2012 09:07

3 плюса

Я получил ту же ошибку

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 Размещён: 17.07.2015 06:45

2 плюса

В моем случае я изменил:

return <variable>

с участием:

return str(<variable>)

попробуйте следующее, и оно должно работать:

str(round((a/b)*0.9*c))
Автор: Jonathan Arias Размещён: 11.04.2018 05:40
Вопросы из категории :
32x32