我正在尝试使用Python中的线程制作计算代码。我的代码如下:
from threading import Thread
from time import sleep
class Fact(Thread):
def __init__(self, start, end):
Thread.__init__(self)
self.start = start
self.end = end
def factorial(self):
p = 1
for i in range(self.start, self.end):
p = p * i
return p
def run(self):
global s
s = s + self.factorial()
sleep(2)
print ("output is ", s)
s = 0
def main():
n = 6
mid = n / 2
obj1 = Fact(1, mid)
obj1.start()
obj2 = Fact(mid + 1, n)
obj2.start()
if __name__ == "__main__":
main()
我想要的是迭代计算数字的阶乘。例如,如果我输入6作为输入,则应该做以下乘积:
product(1, 3) + product(4, 6)
问题是当我运行此代码时:
obj1.start()
我遇到以下错误:
TypeError: 'int' object is not callable
我找不到哪一个是错误的。