В python 2.7 я пишу класс под названием Zillion
, который должен действовать как счетчик для очень больших целых чисел. Я считаю, что у меня это получилось, но я продолжаю работать в TypeError: 'int' object is not callable
, что, похоже, означает, что в какой-то момент моего кода я попытался вызвать int
, как будто это была функция. Многие из примеров, которые я нашел на этом сайте, были просто математической ошибкой, когда писатель опустил оператора. Кажется, я не могу найти свою ошибку.Объект 'int' не является вызываемой ошибкой в классе
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
z.increment()
TypeError: 'int' object is not callable
Мой код:
class Zillion:
def __init__(self, digits):
self.new = []
self.count = 0 # for use in process and increment
self.increment = 1 # for use in increment
def process(self, digits):
if digits == '':
raise RuntimeError
elif digits[0].isdigit() == False:
if digits[0] == ' ' or digits[0] == ',':
digits = digits[1:]
else:
raise RuntimeError
elif digits[0].isdigit():
self.new.append(int(digits[0]))
digits = digits[1:]
self.count += 1
if digits != '':
process(self, digits)
process(self, digits)
if self.count == 0:
raise RuntimeError
self.new2 = self.new # for use in isZero
def toString(self):
self.mystring =''
self.x = 0
while self.x < self.count:
self.mystring = self.mystring + str(self.new[self.x])
self.x += 1
print(self.mystring)
def isZero(self):
if self.new2[0] != '0':
return False
elif self.new2[0] == '0':
self.new2 = self.new2[1:]
isZero(self)
return True
def increment(self):
if self.new[self.count - self.increment] == 9:
self.new[self.count - self.increment] = 0
if isZero(self):
self.count += 1
self.new= [1] + self.new
else:
self.increment += 1
increment(self)
elif self.new[self.count - self.increment] != 9:
self.new[self.count - self.increment] = self.new[self.count - self.increment] + 1
В какой строке происходит ошибка? Дамп кода не полезен, если вы не можете сообщить нам, где произошла ошибка. Мы не будем пытаться имитировать ошибку, не всю информацию – CDspace
Traceback (самый последний вызов последнего): Файл «», строка 1, в z.increment() TypeError: «INT» объект не является вызываемый Я положил его прямо на топ-человека –
'z' должно быть целым числом, а не экземпляром класса' Zillion'. Не могу сказать из трассы, как вы его определили. – martineau