Python的复数运算产生较大偏差

求(1+i)的n次方的和(n=1,2,3.....2017)用数学方法算出来虚部是1(确认过答案,没算错),为什么这里虚部会变得这么大,而且实部还是准的?

count=1
tol=0
while count<=2017:
num=1+1j
tol=tol+num**count
count=count+1
print(tol)

输出:
5.486124068794574e+303-2.5155091791926248e+290j