为了账号安全,请及时绑定邮箱和手机立即绑定
关注
慕少839290

请问我这里哪里错了,输出为什么是189?

sum = 0

x = 1

n = 1

while True:

    sum=sum+x

    x=2^n

    n=n+1

    if n>20:

        break

print sum


2019-10-21 源自:初识Python 5-6 111 浏览 4 回答

最佳回答

2019-10-21

次方运算符用**不是^

http://img.mukewang.com/5dad6573000108ee05920363.jpg

你的sum只计算到sum+2^19而并非sum+2^20,所以可以把n=n+1放到break后面就可以计算到sum+2^20

2019-10-21
回复 0

x=2^n 改成 x=2**(n-1)就可以了

2019-10-21
回复 0

错误点:1.次方符号错误,应该用**表示;2.按照你的理解是每一项的值是2的第n次方,所以n的值应该从0开始:即n=0,这样才能保证x的第一项是从1开始的,如果n=1,你这个第一项就是从2开始的,即:2,4,8,16....

2019-10-23
回复 0

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信