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

如题。。。

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
  • 参与学习       758278    人
  • 解答问题       8967    个

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

进入课程

如题。。。

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号