首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sum = (1**2) + (2**2) - (3**2) + (4**2)-,.,+(n**2)程序代码

sum = (1**2) + (2**2) - (3**2) + (4**2)-,.,+(n**2)程序代码
EN

Stack Overflow用户
提问于 2019-11-30 16:30:40
回答 2查看 66关注 0票数 0

编写了一个程序,在python中使用"for“和"While”循环来显示(1**2) + (2**2) - (3**2) + (4**2)-,...,+(n**2)程序代码的总和。

虽然我只为+迭代编写,如下面的代码所示,但是+,-,+,-迭代非常困难。下面是我的+迭代代码:

代码语言:javascript
复制
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)]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-30 16:42:41

另一个选项:使用sign变量并相应地更改它。

代码语言:javascript
复制
sum = 1**2
sign = 1 #positive
for i in range(2, n+1):
    sum += sign * (i ** 2)
    sign *= -1 #flip sign
票数 0
EN

Stack Overflow用户

发布于 2019-11-30 16:39:20

您可以执行% 2检查以检查奇数,并相应地将符号设置为+-

代码语言:javascript
复制
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。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59118101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档