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

为什么这个不对?

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


这样写为什么是错的?

正在回答

4 回答

你这个循环里,X的值实在不断变大的,不是恒定的2,你要把X=2放到循环语句中才行

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

yayiyu 提问者

sum = 0 x = 0 n = 0 while True: sum = sum + x x = 2**n n = n + 1 if n > 20: break print sum 改成这样 或者上面的将X =2 放入while循环对吧?
2017-04-20 回复 有任何疑惑可以回复我~
#2

达也爱小南 回复 yayiyu 提问者

恩,可以,跑对就行
2017-04-21 回复 有任何疑惑可以回复我~

sum = 0

x = 1

n = 1

while True:

    sum=sum+x

    x=x*2

    n=n+1

    if n>20:

        break

    

print sum

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

答案是21 呀!不知道你的题目是什么?


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

yayiyu 提问者

对已有的计算 0 - 100 的while循环进行改造,通过增加 continue 语句,使得只计算奇数的和:
2017-04-20 回复 有任何疑惑可以回复我~
#2

yayiyu 提问者

错了 问题是利用 while True 无限循环配合 break 语句,计算 1 + 2 + 4 + 8 + 16 + ... 的前20项的和
2017-04-20 回复 有任何疑惑可以回复我~

不过,你第一次X变成了1,以后不论几次幂都是1了

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

举报

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

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

进入课程

为什么这个不对?

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