python简单计算问题

编写程序计算如下数列的值:

1-2+3-4...966

其中,所有数字为整数,从1开始递增,奇数为正,偶数为负

for i in range(1,966,2):
i+=i
fpr t in range(2,967,2):
t+=t
print("{}".format(i-t))

可不可以帮忙看看这样写为什么错😥

第二个for打错了?
而且string format是这么用的么,花括号里面不用写东西么emmm

1到966 966取不到。还是要写967

教你个简单的写法


v_sum = 0
for i in range(1, 997):
    if i % 2 == 0:
        i = -i
    v_sum += i
print(v_sum)

直接用sum函数求和吧:

sum([(lambda x:[1, -1][x % 2 != 1])(i)*i for i in range(1, 967)])