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

麻烦大神看一下

sum = 0 x = 1 n = 1 while True:    sum=sum+x    n=n+1    x=2**n    if n < 21:        break print sum 为什么这么写不对呀

正在回答

6 回答

sum = 0

x = 1

n = 1

while True:

    sum+=2**(n-1)

    #x*=2

    n+=1

    if n>20:

        break

        

print sum




0 回复 有任何疑惑可以回复我~
sum = 0
x = 1
n = 1
while True:    
    sum=sum+x    
    n=n+1    
    x=2*x   
    if n>20:        
    break
print sum

这样是对的
你的x=2**n多了一个*号,语法错误
另外x的值后一个是前一个的2倍,所以是x=2*x
因为你的n初值是1,第一个循环后n=2,if n<21,条件成立,第一个循环就退出了,


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

这样写就该是

 if n == 20:

        break

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

你的if 咋是n<20

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

 if n > 20

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

if判断条件错了

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

举报

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

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

进入课程

麻烦大神看一下

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