基础编程 请问哪里写错了

img

int(input())错误。
可以这样写
n=1
sum=0
while n<=5000:
sum = sum + ((-1)**(n+1)) * 1/(2n-1)
n=n+1
print('Π的近似值:',sum
4)

img


一个for就能搞定,你的代码报错的原因,在于[],python的运算中不能用这个,这边表示列表的意思,比如[1],你可能以为是int类型的1,实际python给你转换成了list类型,只是里面的元素只有一个而已

def pi(n=10000):
sum,m=0,2
for i in range(1,2*(n-1)-1,2):
sum+=(-1)**(m)(1/i)
m+=1
return sum
print(f'pi = {4
pi(int(input())):.4f}')
print(f'pi = {4*pi():.4f}')