python循环问题和布尔类型

img

sumnumber = 0
Divisor = 1
addmark = True
term = 1.0 / Divisor

while term > 10 ** -8:
    if addmark:
        sumnumber = sumnumber + term
    else:
        sumnumber = sumnumber - term

    Divisor = Divisor / 2
    term = 1.0 / Divisor
    addmark = not addmark

print(sumnumber * 4.0)

程序写出来了,不过根据程序运行的结果来看,运行至1075次的循环回应为除数无限接近于0被python认为是0而报错中断运行