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

为何break写在前而不是在后?为何要 n = n +1

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

为何break写在前而不是在后?为何要 n = n +1   ٩(͡๏̯͡๏)۶

正在回答

2 回答

break可以在后面   n=n+1是因为题目要求20项相加   用n来计算到第20项

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

pythonMiya 提问者

非常感谢
2018-09-17 回复 有任何疑惑可以回复我~
sum = 0
x = 1
n = 1
while True:
    sum = sum + x
    x = x * 2        #(1)
    n = n + 1         #(2)
    if n > 20:        #(3)
        break
print sum

确实可以放在后面但是有一点需要注意:放在后面因为你是先做判断后计算。

代码注释如下(这里是网页在代码里有中文注释会报错,所以主是在此供你理解)

#(1)计算第前n向和(1)
#(2)计算n+1项的值
#(3)计算n+1项是第几项

if n > 20:

        break


这两条语句是配合的,必须放在一起都放在后面来判断n大于20就不需要再输出第21项了。但是当n=20时还是会进入while循环执行(1)(2)(3)三条语句,此时满足将第20项加到sum中,同时也计算了第21项的值和第21项的项数,但这两个值的计算是多余的。所以将break判断放在前程序更加优化,可读性也更强。

但是无论放在前面还是后面都能满足题目的需求。上面的代码你直接粘贴就可以运行。

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

pythonMiya 提问者

非常感谢
2018-09-17 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

为何break写在前而不是在后?为何要 n = n +1

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