总和=(1**2)和#x2B;(2**2)-(3**2)和#x2B;(4**2)-,…,+;(n**2)python程序代码
编写一个程序,使用“for”和“While”循环显示python中总和=(1**2)和#x2B;(2**2)-(3**2)和#x2B;(4**2)-,…,+;(n**2)python程序代码,python,loops,for-loop,while-loop,Python,Loops,For Loop,While Loop,编写一个程序,使用“for”和“While”循环显示python中(1**2)+(2**2)-(3**2)+(4**2)-,…,+(n**2)程序代码的总和 虽然我只为+迭代编写,如下代码所示,但是+,-,+,-迭代非常困难。这是我的+迭代代码: nstart = 1 nend = 4 count = 0 Sum = 0 for i in range(nstart,nend+1): count+=1 d = i**2 Sum = Sum + d print(cou
(1**2)+(2**2)-(3**2)+(4**2)-,…,+(n**2)
程序代码的总和
虽然我只为+
迭代编写,如下代码所示,但是+,-,+,-
迭代非常困难。这是我的+
迭代代码:
nstart = 1
nend = 4
count = 0
Sum = 0
for i in range(nstart,nend+1):
count+=1
d = i**2
Sum = Sum + d
print(count,'**2 = ', d )
print('Sum = ', Sum)
#This program print same as [(1**2,+ 2**2,+ 3**2= 9,+,,,,+n**2 and sum of them)]
您可以执行
%2
检查以检查奇数,并相应地将符号设置为+
或-
:
sum = 0
for i in range(1, n+1):
if i != 1 and i % 2:
sum -= (i ** 2)
else:
sum += (i ** 2)
对于
n
值4,这将输出12。另一个选项:使用符号
变量并相应地更改它
sum = 1**2
sign = 1 #positive
for i in range(2, n+1):
sum += sign * (i ** 2)
sign *= -1 #flip sign
也许你可以检查
i%2
并相应地更改d
的符号。你的公式中有一个奇怪的不一致性:为什么第一项和第二项都是正的?符号不应该从一开始就交替吗?我的问题是这样的:sum=1+2-3+4-5等于-1,我想在for循环中写入相同的值。这样做,这就是使用for
循环。