不知道哪一步代码写错了

求s=4*(1-1/3+1/5-1/7+...+1/n,当s前三位数字首次为3.14时的n值。

该回答引用chatgpt:

s = 0
n = 1
while True:
    s += 4 * (1 / n - 1 / (n + 2))
    if str(s)[:4] == '3.14':
        break
    n += 4
print(n)


解释一下代码:

首先初始化 s = 0 和 n = 1。
使用一个无限循环,每次加上一个 4 项式的和,并检查前三位是否为 3.14。如果是,跳出循环。
在每次循环中,每一项的分母依次为 n, n+2, n+4, n+6, ...,所以需要每次加上 4 才能跳到下一个有效项。
最后输出 n 的值