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

为啥if条件放前面和放后面的结果是一样的呢

while True:

    sum = sum + x

    x = x * 2

    n = n + 1

    if n > 20:

        break

while True:

    if n > 20:

        break

    sum = sum + x

    x = x * 2

    n = n + 1



正在回答

2 回答

因为一般来说我们都是要先对条件值进行判断的,这样才能确保后面的运算不会出错,但是由于这道题其实不算太严谨所以才会前后结果一样,这里的条件临界值是20,但是n的初始值是1所以不管if放在前面还是后面,它都还是会进行第一次运行,直到n>20。但是如果n的初始值是21的话,if在前面,就会直接跳出循环,if放在后面的话它就会进行一次运算然后当n=22才跳出循环,而且由于n不参与运算,所以对运算结果不产生直接影响,所以这里前后都可以

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

我们看临界值,假设n=19,

if条件放后面,sum和x值都变了,然后n加1为20跳出循环。

if条件放前面,进入循环,sum和x值变化,然后n加1,结束本轮循环,n达到20,下轮跳出循环。

跳出循环之前在循环控制的临界值内,sum和x都会相应变化。

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

举报

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

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

进入课程

为啥if条件放前面和放后面的结果是一样的呢

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