希望各位能帮我解答一下这个python问题

python中利用循环来计算n项和的题目

img

n=eval(input('输入一个正整数n:'))
def main():
    sum=0
for i in range(1,n+1):
    sum+= (((-1)**(i-1))*(i)*((i+1)/ (i+2)))
s=sum
print(s)

两点,

  1. 定义一个main函数, 函数未调用, 找不到变量 sum
  2. sum为main函数下的局部变量, 用global sum 把他声明一个全局变量, 后续可以调用
n=eval(input('输入一个正整数n:'))
def main():
    global sum
    sum = 0
main()
for i in range(1,n+1):
    sum+= (((-1)**(i-1))*(i)*((i+1)/ (i+2)))
s=sum
print(s)


n = int(input())
s = 0
for i in range(1,n+1):
    s -= (-1)**i*i*(i+1)/(i+2)
print(f"s={s:.4f}")