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

为什么这段代码不能算出得到要求

题目:
利用 while True 无限循环配合 break 语句,计算 1 + 2 + 4 + 8 + 16 + ... 的前20项的和。
sum = 0
x = 1
n = 1
while True:
    sum=sum+x
    x=2*x
    if n>20:
        break
    n=n+1
print sum


正在回答

4 回答

试一下吧

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

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

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

qq_f6e哈_0 提问者

恩恩,这样是可以的。谢谢了。。
2015-07-11 回复 有任何疑惑可以回复我~

你这种写法是多执行了一次,21次

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

先判断if n>20:

        break

后执行

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

qq_f6e哈_0 提问者

为什么嘞,我是故意把判断语句放在后面的,因为判断语句在后面才能累计计算的次数啊!!!如果你先判断的话,是并!没!有!加上你所判断的那次的,也就是,实际上应该是少算了一次的,你觉得呢
2015-07-08 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

为什么这段代码不能算出得到要求

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