为了账号安全,请及时绑定邮箱和手机立即绑定

如题。。。

sum = 0 x = 1 n = 1 while True:    if n>21:        break    sum = x * 2 ** ( n - 1 )    x = x    n = n + 1 sum = sum - 1 print sum 这个写法没毛病?怎么改?

正在回答

4 回答

你们真是大神啊!1+2+3+...+100也就等于5050  你们怎么算的1048574、1048575的???

0 回复 有任何疑惑可以回复我~

上面更正一下,不知道你为什么要sum=sum-1,正确答案应该是1048575

0 回复 有任何疑惑可以回复我~

两个问题:

1、n>21改为n>20,不然你就计算了n=21;

2、sum = x * 2 ** ( n - 1 )改为sum += x * 2 ** ( n - 1 ),你原来的只是每一项,并没有求和吧

sum = 0
x = 1
n = 1
while True:
    if n>20:
        break
    sum += x * 2 ** ( n - 1 )
    x = x
    n = n + 1
sum = sum - 1
print sum #1048574

0 回复 有任何疑惑可以回复我~

sum=0

x=1

n=1

while True:

   if n>21:

break

else:

sum+=x*2*(n-1)

n=n+1

print sum

亲你试一下这个代码 

我觉得你这个代码是有问题的

你可以看一下按照你目前的这个代码,每次做sum的只是x*2*(n-1)

这只是我个人的看法,我也是刚学Pytho。如果不对,请指出,谢谢

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758620    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

如题。。。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信