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

为什么我这个算出来190,哪里错了呢?

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

正在回答

5 回答

在python里幂次方不是“^”表示的。

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

smiletd 提问者

非常感谢!
2018-08-06 回复 有任何疑惑可以回复我~

sum = 0
x = 1
n = 1
while True:
    sum=sum+x
    x=2**n
    n=n+1
    if n>20:
        break
print sum

这样也可以,楼上说的对,**表示幂运算

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

**表示次方,2**n这样就可以了

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

Graceg

2**(n-1),上面写错了
2018-08-27 回复 有任何疑惑可以回复我~

次幂用pow(x,n)表示

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

sum = 0

x = 1

n = 1

while True:

    sum = sum +n

    n = n*2

    x = x + 1

    if x>20:

        break

print sum

这样就可以了

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

举报

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

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

进入课程

为什么我这个算出来190,哪里错了呢?

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